diff options
-rw-r--r-- | arch/i386/pci/irq.c | 1 | ||||
-rw-r--r-- | arch/i386/pci/pcbios.c | 2 | ||||
-rw-r--r-- | drivers/pci/probe.c | 2 | ||||
-rw-r--r-- | drivers/pci/quirks.c | 16 | ||||
-rw-r--r-- | include/linux/aer.h | 25 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 2 |
6 files changed, 39 insertions, 9 deletions
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index 665db063a40a..8434f2323b87 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c | |||
@@ -550,6 +550,7 @@ static __init int intel_router_probe(struct irq_router *r, struct pci_dev *route | |||
550 | case PCI_DEVICE_ID_INTEL_ICH9_3: | 550 | case PCI_DEVICE_ID_INTEL_ICH9_3: |
551 | case PCI_DEVICE_ID_INTEL_ICH9_4: | 551 | case PCI_DEVICE_ID_INTEL_ICH9_4: |
552 | case PCI_DEVICE_ID_INTEL_ICH9_5: | 552 | case PCI_DEVICE_ID_INTEL_ICH9_5: |
553 | case PCI_DEVICE_ID_INTEL_TOLAPAI_0: | ||
553 | r->name = "PIIX/ICH"; | 554 | r->name = "PIIX/ICH"; |
554 | r->get = pirq_piix_get; | 555 | r->get = pirq_piix_get; |
555 | r->set = pirq_piix_set; | 556 | r->set = pirq_piix_set; |
diff --git a/arch/i386/pci/pcbios.c b/arch/i386/pci/pcbios.c index 5f5193401bea..10ac8c316c46 100644 --- a/arch/i386/pci/pcbios.c +++ b/arch/i386/pci/pcbios.c | |||
@@ -412,7 +412,7 @@ struct irq_routing_options { | |||
412 | u16 segment; | 412 | u16 segment; |
413 | } __attribute__((packed)); | 413 | } __attribute__((packed)); |
414 | 414 | ||
415 | struct irq_routing_table * __devinit pcibios_get_irq_routing_table(void) | 415 | struct irq_routing_table * pcibios_get_irq_routing_table(void) |
416 | { | 416 | { |
417 | struct irq_routing_options opt; | 417 | struct irq_routing_options opt; |
418 | struct irq_routing_table *rt = NULL; | 418 | struct irq_routing_table *rt = NULL; |
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 27e00b2d7b5b..171ca712e523 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
@@ -285,7 +285,7 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom) | |||
285 | } | 285 | } |
286 | } | 286 | } |
287 | 287 | ||
288 | void __devinit pci_read_bridge_bases(struct pci_bus *child) | 288 | void pci_read_bridge_bases(struct pci_bus *child) |
289 | { | 289 | { |
290 | struct pci_dev *dev = child->self; | 290 | struct pci_dev *dev = child->self; |
291 | u8 io_base_lo, io_limit_lo; | 291 | u8 io_base_lo, io_limit_lo; |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 2d40f437b9fc..7dcaa09b3c20 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -972,8 +972,8 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, k8t_sound_ho | |||
972 | * | 972 | * |
973 | * The SMBus PCI Device can be activated by setting a bit in the ICH LPC | 973 | * The SMBus PCI Device can be activated by setting a bit in the ICH LPC |
974 | * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it | 974 | * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it |
975 | * becomes necessary to do this tweak in two steps -- I've chosen the Host | 975 | * becomes necessary to do this tweak in two steps -- the chosen trigger |
976 | * bridge as trigger. | 976 | * is either the Host bridge (preferred) or on-board VGA controller. |
977 | * | 977 | * |
978 | * Note that we used to unhide the SMBus that way on Toshiba laptops | 978 | * Note that we used to unhide the SMBus that way on Toshiba laptops |
979 | * (Satellite A40 and Tecra M2) but then found that the thermal management | 979 | * (Satellite A40 and Tecra M2) but then found that the thermal management |
@@ -1070,6 +1070,14 @@ static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev) | |||
1070 | case 0x0058: /* Compaq Evo N620c */ | 1070 | case 0x0058: /* Compaq Evo N620c */ |
1071 | asus_hides_smbus = 1; | 1071 | asus_hides_smbus = 1; |
1072 | } | 1072 | } |
1073 | else if (dev->device == PCI_DEVICE_ID_INTEL_82810_IG3) | ||
1074 | switch(dev->subsystem_device) { | ||
1075 | case 0xB16C: /* Compaq Deskpro EP 401963-001 (PCA# 010174) */ | ||
1076 | /* Motherboard doesn't have Host bridge | ||
1077 | * subvendor/subdevice IDs, therefore checking | ||
1078 | * its on-board VGA controller */ | ||
1079 | asus_hides_smbus = 1; | ||
1080 | } | ||
1073 | } | 1081 | } |
1074 | } | 1082 | } |
1075 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845_HB, asus_hides_smbus_hostbridge ); | 1083 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845_HB, asus_hides_smbus_hostbridge ); |
@@ -1082,6 +1090,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855PM_HB, as | |||
1082 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge ); | 1090 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge ); |
1083 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82915GM_HB, asus_hides_smbus_hostbridge ); | 1091 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82915GM_HB, asus_hides_smbus_hostbridge ); |
1084 | 1092 | ||
1093 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82810_IG3, asus_hides_smbus_hostbridge ); | ||
1094 | |||
1085 | static void asus_hides_smbus_lpc(struct pci_dev *dev) | 1095 | static void asus_hides_smbus_lpc(struct pci_dev *dev) |
1086 | { | 1096 | { |
1087 | u16 val; | 1097 | u16 val; |
@@ -1099,12 +1109,14 @@ static void asus_hides_smbus_lpc(struct pci_dev *dev) | |||
1099 | printk(KERN_INFO "PCI: Enabled i801 SMBus device\n"); | 1109 | printk(KERN_INFO "PCI: Enabled i801 SMBus device\n"); |
1100 | } | 1110 | } |
1101 | } | 1111 | } |
1112 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0, asus_hides_smbus_lpc ); | ||
1102 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc ); | 1113 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc ); |
1103 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc ); | 1114 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc ); |
1104 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, asus_hides_smbus_lpc ); | 1115 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, asus_hides_smbus_lpc ); |
1105 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12, asus_hides_smbus_lpc ); | 1116 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12, asus_hides_smbus_lpc ); |
1106 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc ); | 1117 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc ); |
1107 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, asus_hides_smbus_lpc ); | 1118 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, asus_hides_smbus_lpc ); |
1119 | DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0, asus_hides_smbus_lpc ); | ||
1108 | DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc ); | 1120 | DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc ); |
1109 | DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc ); | 1121 | DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc ); |
1110 | DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, asus_hides_smbus_lpc ); | 1122 | DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, asus_hides_smbus_lpc ); |
diff --git a/include/linux/aer.h b/include/linux/aer.h index 509656286e53..bcf236d825e8 100644 --- a/include/linux/aer.h +++ b/include/linux/aer.h | |||
@@ -15,11 +15,26 @@ extern int pci_disable_pcie_error_reporting(struct pci_dev *dev); | |||
15 | extern int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev); | 15 | extern int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev); |
16 | extern int pci_cleanup_aer_correct_error_status(struct pci_dev *dev); | 16 | extern int pci_cleanup_aer_correct_error_status(struct pci_dev *dev); |
17 | #else | 17 | #else |
18 | #define pci_enable_pcie_error_reporting(dev) (-EINVAL) | 18 | static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev) |
19 | #define pci_find_aer_capability(dev) (0) | 19 | { |
20 | #define pci_disable_pcie_error_reporting(dev) (-EINVAL) | 20 | return -EINVAL; |
21 | #define pci_cleanup_aer_uncorrect_error_status(dev) (-EINVAL) | 21 | } |
22 | #define pci_cleanup_aer_correct_error_status(dev) (-EINVAL) | 22 | static inline int pci_find_aer_capability(struct pci_dev *dev) |
23 | { | ||
24 | return 0; | ||
25 | } | ||
26 | static inline int pci_disable_pcie_error_reporting(struct pci_dev *dev) | ||
27 | { | ||
28 | return -EINVAL; | ||
29 | } | ||
30 | static inline int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev) | ||
31 | { | ||
32 | return -EINVAL; | ||
33 | } | ||
34 | static inline int pci_cleanup_aer_correct_error_status(struct pci_dev *dev) | ||
35 | { | ||
36 | return -EINVAL; | ||
37 | } | ||
23 | #endif | 38 | #endif |
24 | 39 | ||
25 | #endif //_AER_H_ | 40 | #endif //_AER_H_ |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index d41747b9fd15..55f307ffbf96 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -2293,6 +2293,8 @@ | |||
2293 | #define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599 | 2293 | #define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599 |
2294 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a | 2294 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a |
2295 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e | 2295 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e |
2296 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 | ||
2297 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_1 0x5032 | ||
2296 | #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 | 2298 | #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 |
2297 | #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 | 2299 | #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 |
2298 | #define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 | 2300 | #define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 |