aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/alpha/kernel/pci.c9
-rw-r--r--arch/arm/kernel/bios32.c2
-rw-r--r--arch/frv/mb93090-mb00/pci-vdk.c4
-rw-r--r--arch/powerpc/platforms/85xx/tqm85xx.c2
-rw-r--r--arch/powerpc/platforms/86xx/gef_ppc9a.c2
-rw-r--r--arch/powerpc/platforms/86xx/gef_sbc310.c2
-rw-r--r--arch/powerpc/platforms/86xx/gef_sbc610.c2
-rw-r--r--arch/powerpc/sysdev/fsl_pci.c2
-rw-r--r--arch/powerpc/sysdev/mv64x60_pci.c2
-rw-r--r--arch/sh/drivers/pci/fixups-dreamcast.c2
-rw-r--r--arch/x86/kernel/quirks.c2
-rw-r--r--drivers/pci/quirks.c18
-rw-r--r--scripts/mod/modpost.c11
13 files changed, 34 insertions, 26 deletions
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 53229a496311..71efc1a5de7e 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -59,15 +59,13 @@ struct pci_controller *pci_isa_hose;
59 * Quirks. 59 * Quirks.
60 */ 60 */
61 61
62static void __init 62static void __devinit quirk_isa_bridge(struct pci_dev *dev)
63quirk_isa_bridge(struct pci_dev *dev)
64{ 63{
65 dev->class = PCI_CLASS_BRIDGE_ISA << 8; 64 dev->class = PCI_CLASS_BRIDGE_ISA << 8;
66} 65}
67DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_isa_bridge); 66DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_isa_bridge);
68 67
69static void __init 68static void __devinit quirk_cypress(struct pci_dev *dev)
70quirk_cypress(struct pci_dev *dev)
71{ 69{
72 /* The Notorious Cy82C693 chip. */ 70 /* The Notorious Cy82C693 chip. */
73 71
@@ -106,8 +104,7 @@ quirk_cypress(struct pci_dev *dev)
106DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, quirk_cypress); 104DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, quirk_cypress);
107 105
108/* Called for each device after PCI setup is done. */ 106/* Called for each device after PCI setup is done. */
109static void __init 107static void __devinit pcibios_fixup_final(struct pci_dev *dev)
110pcibios_fixup_final(struct pci_dev *dev)
111{ 108{
112 unsigned int class = dev->class >> 8; 109 unsigned int class = dev->class >> 8;
113 110
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index f07710849b58..2b2f25e7fef5 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -253,7 +253,7 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
253} 253}
254DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693); 254DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693);
255 255
256static void __init pci_fixup_it8152(struct pci_dev *dev) 256static void __devinit pci_fixup_it8152(struct pci_dev *dev)
257{ 257{
258 int i; 258 int i;
259 /* fixup for ITE 8152 devices */ 259 /* fixup for ITE 8152 devices */
diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c
index 6b0b82ff4419..d04ed14bbf0c 100644
--- a/arch/frv/mb93090-mb00/pci-vdk.c
+++ b/arch/frv/mb93090-mb00/pci-vdk.c
@@ -268,7 +268,7 @@ static void __init pci_fixup_umc_ide(struct pci_dev *d)
268 d->resource[i].flags |= PCI_BASE_ADDRESS_SPACE_IO; 268 d->resource[i].flags |= PCI_BASE_ADDRESS_SPACE_IO;
269} 269}
270 270
271static void __init pci_fixup_ide_bases(struct pci_dev *d) 271static void __devinit pci_fixup_ide_bases(struct pci_dev *d)
272{ 272{
273 int i; 273 int i;
274 274
@@ -287,7 +287,7 @@ static void __init pci_fixup_ide_bases(struct pci_dev *d)
287 } 287 }
288} 288}
289 289
290static void __init pci_fixup_ide_trash(struct pci_dev *d) 290static void __devinit pci_fixup_ide_trash(struct pci_dev *d)
291{ 291{
292 int i; 292 int i;
293 293
diff --git a/arch/powerpc/platforms/85xx/tqm85xx.c b/arch/powerpc/platforms/85xx/tqm85xx.c
index 4d786c25d3e5..3e70a2035e53 100644
--- a/arch/powerpc/platforms/85xx/tqm85xx.c
+++ b/arch/powerpc/platforms/85xx/tqm85xx.c
@@ -102,7 +102,7 @@ static void tqm85xx_show_cpuinfo(struct seq_file *m)
102 seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f)); 102 seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f));
103} 103}
104 104
105static void __init tqm85xx_ti1520_fixup(struct pci_dev *pdev) 105static void __devinit tqm85xx_ti1520_fixup(struct pci_dev *pdev)
106{ 106{
107 unsigned int val; 107 unsigned int val;
108 108
diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c b/arch/powerpc/platforms/86xx/gef_ppc9a.c
index 1fca663f1b25..563aafa8629c 100644
--- a/arch/powerpc/platforms/86xx/gef_ppc9a.c
+++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c
@@ -164,7 +164,7 @@ static void gef_ppc9a_show_cpuinfo(struct seq_file *m)
164 gef_ppc9a_get_vme_is_syscon() ? "yes" : "no"); 164 gef_ppc9a_get_vme_is_syscon() ? "yes" : "no");
165} 165}
166 166
167static void __init gef_ppc9a_nec_fixup(struct pci_dev *pdev) 167static void __devinit gef_ppc9a_nec_fixup(struct pci_dev *pdev)
168{ 168{
169 unsigned int val; 169 unsigned int val;
170 170
diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c b/arch/powerpc/platforms/86xx/gef_sbc310.c
index 14e0e576bcbd..cc6a91ae0889 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc310.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc310.c
@@ -152,7 +152,7 @@ static void gef_sbc310_show_cpuinfo(struct seq_file *m)
152 152
153} 153}
154 154
155static void __init gef_sbc310_nec_fixup(struct pci_dev *pdev) 155static void __devinit gef_sbc310_nec_fixup(struct pci_dev *pdev)
156{ 156{
157 unsigned int val; 157 unsigned int val;
158 158
diff --git a/arch/powerpc/platforms/86xx/gef_sbc610.c b/arch/powerpc/platforms/86xx/gef_sbc610.c
index 1638f43599f0..aead6b337f4a 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc610.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc610.c
@@ -141,7 +141,7 @@ static void gef_sbc610_show_cpuinfo(struct seq_file *m)
141 seq_printf(m, "SVR\t\t: 0x%x\n", svid); 141 seq_printf(m, "SVR\t\t: 0x%x\n", svid);
142} 142}
143 143
144static void __init gef_sbc610_nec_fixup(struct pci_dev *pdev) 144static void __devinit gef_sbc610_nec_fixup(struct pci_dev *pdev)
145{ 145{
146 unsigned int val; 146 unsigned int val;
147 147
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 6073288fed29..edbf79465d50 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -36,7 +36,7 @@
36 36
37static int fsl_pcie_bus_fixup, is_mpc83xx_pci; 37static int fsl_pcie_bus_fixup, is_mpc83xx_pci;
38 38
39static void __init quirk_fsl_pcie_header(struct pci_dev *dev) 39static void __devinit quirk_fsl_pcie_header(struct pci_dev *dev)
40{ 40{
41 u8 progif; 41 u8 progif;
42 42
diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c
index b0037cefaada..364b14d4754b 100644
--- a/arch/powerpc/sysdev/mv64x60_pci.c
+++ b/arch/powerpc/sysdev/mv64x60_pci.c
@@ -104,7 +104,7 @@ subsys_initcall(mv64x60_sysfs_init);
104 104
105#endif /* CONFIG_SYSFS */ 105#endif /* CONFIG_SYSFS */
106 106
107static void __init mv64x60_pci_fixup_early(struct pci_dev *dev) 107static void __devinit mv64x60_pci_fixup_early(struct pci_dev *dev)
108{ 108{
109 /* 109 /*
110 * Set the host bridge hdr_type to an invalid value so that 110 * Set the host bridge hdr_type to an invalid value so that
diff --git a/arch/sh/drivers/pci/fixups-dreamcast.c b/arch/sh/drivers/pci/fixups-dreamcast.c
index edeea8960c30..a5fe1b54c952 100644
--- a/arch/sh/drivers/pci/fixups-dreamcast.c
+++ b/arch/sh/drivers/pci/fixups-dreamcast.c
@@ -28,7 +28,7 @@
28#include <asm/irq.h> 28#include <asm/irq.h>
29#include <mach/pci.h> 29#include <mach/pci.h>
30 30
31static void __init gapspci_fixup_resources(struct pci_dev *dev) 31static void __devinit gapspci_fixup_resources(struct pci_dev *dev)
32{ 32{
33 struct pci_channel *p = dev->sysdata; 33 struct pci_channel *p = dev->sysdata;
34 34
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
index 03920a15a632..1b27de563561 100644
--- a/arch/x86/kernel/quirks.c
+++ b/arch/x86/kernel/quirks.c
@@ -512,7 +512,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS,
512 512
513#if defined(CONFIG_PCI) && defined(CONFIG_NUMA) 513#if defined(CONFIG_PCI) && defined(CONFIG_NUMA)
514/* Set correct numa_node information for AMD NB functions */ 514/* Set correct numa_node information for AMD NB functions */
515static void __init quirk_amd_nb_node(struct pci_dev *dev) 515static void __devinit quirk_amd_nb_node(struct pci_dev *dev)
516{ 516{
517 struct pci_dev *nb_ht; 517 struct pci_dev *nb_ht;
518 unsigned int devfn; 518 unsigned int devfn;
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 27e2c8f4ec73..6484a5434693 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -253,7 +253,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576, quirk_vsfx)
253 * workaround applied too 253 * workaround applied too
254 * [Info kindly provided by ALi] 254 * [Info kindly provided by ALi]
255 */ 255 */
256static void __init quirk_alimagik(struct pci_dev *dev) 256static void __devinit quirk_alimagik(struct pci_dev *dev)
257{ 257{
258 if ((pci_pci_problems&PCIPCI_ALIMAGIK)==0) { 258 if ((pci_pci_problems&PCIPCI_ALIMAGIK)==0) {
259 dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); 259 dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n");
@@ -789,7 +789,7 @@ static void __devinit quirk_amd_ioapic(struct pci_dev *dev)
789} 789}
790DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic); 790DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic);
791 791
792static void __init quirk_ioapic_rmw(struct pci_dev *dev) 792static void __devinit quirk_ioapic_rmw(struct pci_dev *dev)
793{ 793{
794 if (dev->devfn == 0 && dev->bus->number == 0) 794 if (dev->devfn == 0 && dev->bus->number == 0)
795 sis_apic_bug = 1; 795 sis_apic_bug = 1;
@@ -801,7 +801,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_ANY_ID, quirk_ioapic_rmw);
801 * Some settings of MMRBC can lead to data corruption so block changes. 801 * Some settings of MMRBC can lead to data corruption so block changes.
802 * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide 802 * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide
803 */ 803 */
804static void __init quirk_amd_8131_mmrbc(struct pci_dev *dev) 804static void __devinit quirk_amd_8131_mmrbc(struct pci_dev *dev)
805{ 805{
806 if (dev->subordinate && dev->revision <= 0x12) { 806 if (dev->subordinate && dev->revision <= 0x12) {
807 dev_info(&dev->dev, "AMD8131 rev %x detected; " 807 dev_info(&dev->dev, "AMD8131 rev %x detected; "
@@ -1082,7 +1082,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB
1082/* 1082/*
1083 * Intel 82801CAM ICH3-M datasheet says IDE modes must be the same 1083 * Intel 82801CAM ICH3-M datasheet says IDE modes must be the same
1084 */ 1084 */
1085static void __init quirk_ide_samemode(struct pci_dev *pdev) 1085static void __devinit quirk_ide_samemode(struct pci_dev *pdev)
1086{ 1086{
1087 u8 prog; 1087 u8 prog;
1088 1088
@@ -1121,7 +1121,7 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_VIA, PCI_ANY_ID,
1121/* This was originally an Alpha specific thing, but it really fits here. 1121/* This was originally an Alpha specific thing, but it really fits here.
1122 * The i82375 PCI/EISA bridge appears as non-classified. Fix that. 1122 * The i82375 PCI/EISA bridge appears as non-classified. Fix that.
1123 */ 1123 */
1124static void __init quirk_eisa_bridge(struct pci_dev *dev) 1124static void __devinit quirk_eisa_bridge(struct pci_dev *dev)
1125{ 1125{
1126 dev->class = PCI_CLASS_BRIDGE_EISA << 8; 1126 dev->class = PCI_CLASS_BRIDGE_EISA << 8;
1127} 1127}
@@ -1155,7 +1155,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_e
1155 */ 1155 */
1156static int asus_hides_smbus; 1156static int asus_hides_smbus;
1157 1157
1158static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev) 1158static void __devinit asus_hides_smbus_hostbridge(struct pci_dev *dev)
1159{ 1159{
1160 if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK)) { 1160 if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK)) {
1161 if (dev->device == PCI_DEVICE_ID_INTEL_82845_HB) 1161 if (dev->device == PCI_DEVICE_ID_INTEL_82845_HB)
@@ -1538,7 +1538,7 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB3
1538#endif 1538#endif
1539 1539
1540#ifdef CONFIG_X86_IO_APIC 1540#ifdef CONFIG_X86_IO_APIC
1541static void __init quirk_alder_ioapic(struct pci_dev *pdev) 1541static void __devinit quirk_alder_ioapic(struct pci_dev *pdev)
1542{ 1542{
1543 int i; 1543 int i;
1544 1544
@@ -1777,7 +1777,7 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8111_SMBUS, qui
1777 * but the PIO transfers won't work if BAR0 falls at the odd 8 bytes. 1777 * but the PIO transfers won't work if BAR0 falls at the odd 8 bytes.
1778 * Re-allocate the region if needed... 1778 * Re-allocate the region if needed...
1779 */ 1779 */
1780static void __init quirk_tc86c001_ide(struct pci_dev *dev) 1780static void __devinit quirk_tc86c001_ide(struct pci_dev *dev)
1781{ 1781{
1782 struct resource *r = &dev->resource[0]; 1782 struct resource *r = &dev->resource[0];
1783 1783
@@ -2169,7 +2169,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8624, quirk_tile_plx_gen1);
2169 * aware of it. Instead of setting the flag on all busses in the 2169 * aware of it. Instead of setting the flag on all busses in the
2170 * machine, simply disable MSI globally. 2170 * machine, simply disable MSI globally.
2171 */ 2171 */
2172static void __init quirk_disable_all_msi(struct pci_dev *dev) 2172static void __devinit quirk_disable_all_msi(struct pci_dev *dev)
2173{ 2173{
2174 pci_no_msi(); 2174 pci_no_msi();
2175 dev_warn(&dev->dev, "MSI quirk detected; MSI disabled\n"); 2175 dev_warn(&dev->dev, "MSI quirk detected; MSI disabled\n");
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 0f84bb38eb0d..68e9f5ed0a6f 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -865,6 +865,11 @@ static void check_section(const char *modname, struct elf_info *elf,
865#define ALL_EXIT_TEXT_SECTIONS \ 865#define ALL_EXIT_TEXT_SECTIONS \
866 ".exit.text$", ".devexit.text$", ".cpuexit.text$", ".memexit.text$" 866 ".exit.text$", ".devexit.text$", ".cpuexit.text$", ".memexit.text$"
867 867
868#define ALL_PCI_INIT_SECTIONS \
869 ".pci_fixup_early$", ".pci_fixup_header$", ".pci_fixup_final$", \
870 ".pci_fixup_enable$", ".pci_fixup_resume$", \
871 ".pci_fixup_resume_early$", ".pci_fixup_suspend$"
872
868#define ALL_XXXINIT_SECTIONS DEV_INIT_SECTIONS, CPU_INIT_SECTIONS, \ 873#define ALL_XXXINIT_SECTIONS DEV_INIT_SECTIONS, CPU_INIT_SECTIONS, \
869 MEM_INIT_SECTIONS 874 MEM_INIT_SECTIONS
870#define ALL_XXXEXIT_SECTIONS DEV_EXIT_SECTIONS, CPU_EXIT_SECTIONS, \ 875#define ALL_XXXEXIT_SECTIONS DEV_EXIT_SECTIONS, CPU_EXIT_SECTIONS, \
@@ -1027,6 +1032,12 @@ const struct sectioncheck sectioncheck[] = {
1027 .mismatch = ANY_EXIT_TO_ANY_INIT, 1032 .mismatch = ANY_EXIT_TO_ANY_INIT,
1028 .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, 1033 .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL },
1029}, 1034},
1035{
1036 .fromsec = { ALL_PCI_INIT_SECTIONS, NULL },
1037 .tosec = { INIT_SECTIONS, NULL },
1038 .mismatch = ANY_INIT_TO_ANY_EXIT,
1039 .symbol_white_list = { NULL },
1040},
1030/* Do not export init/exit functions or data */ 1041/* Do not export init/exit functions or data */
1031{ 1042{
1032 .fromsec = { "__ksymtab*", NULL }, 1043 .fromsec = { "__ksymtab*", NULL },