aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-06 16:58:21 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-06 16:58:21 -0500
commit67b0243131150391125d8d0beb5359d7aec78b55 (patch)
treece1299f3a6e5bb75e89ccf003095be4942cd5e29 /drivers/pci
parent376613e81ddc68f545fd5c87ffc3ad222b7abe5f (diff)
parentc284b42abadbb22083bfde24d308899c08d44ffa (diff)
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Skip cpus with apic-ids >= 255 in !x2apic_mode x86, x2apic: Allow "nox2apic" to disable x2apic mode setup by BIOS x86, x2apic: Fallback to xapic when BIOS doesn't setup interrupt-remapping x86, acpi: Skip acpi x2apic entries if the x2apic feature is not present x86, apic: Add probe() for apic_flat x86: Simplify code by removing a !SMP #ifdefs from 'struct cpuinfo_x86' x86: Convert per-cpu counter icr_read_retry_count into a member of irq_stat x86: Add per-cpu stat counter for APIC ICR read tries pci, x86/io-apic: Allow PCI_IOAPIC to be user configurable on x86 x86: Fix the !CONFIG_NUMA build of the new CPU ID fixup code support x86: Add NumaChip support x86: Add x86_init platform override to fix up NUMA core numbering x86: Make flat_init_apic_ldr() available
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/Kconfig4
-rw-r--r--drivers/pci/ioapic.c15
2 files changed, 9 insertions, 10 deletions
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index f02b5235056d..37856f7c7781 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -98,11 +98,11 @@ config PCI_PASID
98 If unsure, say N. 98 If unsure, say N.
99 99
100config PCI_IOAPIC 100config PCI_IOAPIC
101 bool 101 tristate "PCI IO-APIC hotplug support" if X86
102 depends on PCI 102 depends on PCI
103 depends on ACPI 103 depends on ACPI
104 depends on HOTPLUG 104 depends on HOTPLUG
105 default y 105 default !X86
106 106
107config PCI_LABEL 107config PCI_LABEL
108 def_bool y if (DMI || ACPI) 108 def_bool y if (DMI || ACPI)
diff --git a/drivers/pci/ioapic.c b/drivers/pci/ioapic.c
index 5775638ac017..205af8dc83c2 100644
--- a/drivers/pci/ioapic.c
+++ b/drivers/pci/ioapic.c
@@ -17,7 +17,7 @@
17 */ 17 */
18 18
19#include <linux/pci.h> 19#include <linux/pci.h>
20#include <linux/export.h> 20#include <linux/module.h>
21#include <linux/acpi.h> 21#include <linux/acpi.h>
22#include <linux/slab.h> 22#include <linux/slab.h>
23#include <acpi/acpi_bus.h> 23#include <acpi/acpi_bus.h>
@@ -27,7 +27,7 @@ struct ioapic {
27 u32 gsi_base; 27 u32 gsi_base;
28}; 28};
29 29
30static int ioapic_probe(struct pci_dev *dev, const struct pci_device_id *ent) 30static int __devinit ioapic_probe(struct pci_dev *dev, const struct pci_device_id *ent)
31{ 31{
32 acpi_handle handle; 32 acpi_handle handle;
33 acpi_status status; 33 acpi_status status;
@@ -88,7 +88,7 @@ exit_free:
88 return -ENODEV; 88 return -ENODEV;
89} 89}
90 90
91static void ioapic_remove(struct pci_dev *dev) 91static void __devexit ioapic_remove(struct pci_dev *dev)
92{ 92{
93 struct ioapic *ioapic = pci_get_drvdata(dev); 93 struct ioapic *ioapic = pci_get_drvdata(dev);
94 94
@@ -99,13 +99,12 @@ static void ioapic_remove(struct pci_dev *dev)
99} 99}
100 100
101 101
102static struct pci_device_id ioapic_devices[] = { 102static DEFINE_PCI_DEVICE_TABLE(ioapic_devices) = {
103 { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 103 { PCI_DEVICE_CLASS(PCI_CLASS_SYSTEM_PIC_IOAPIC, ~0) },
104 PCI_CLASS_SYSTEM_PIC_IOAPIC << 8, 0xffff00, }, 104 { PCI_DEVICE_CLASS(PCI_CLASS_SYSTEM_PIC_IOXAPIC, ~0) },
105 { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
106 PCI_CLASS_SYSTEM_PIC_IOXAPIC << 8, 0xffff00, },
107 { } 105 { }
108}; 106};
107MODULE_DEVICE_TABLE(pci, ioapic_devices);
109 108
110static struct pci_driver ioapic_driver = { 109static struct pci_driver ioapic_driver = {
111 .name = "ioapic", 110 .name = "ioapic",