aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-10-28 13:53:24 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-10-28 13:53:24 -0400
commit22450e03acf18ef0dbdbbc155f0f97f105bf6878 (patch)
tree5b67531dcd3d7a1f355c1a1630345a2925c5679c
parentb35f0ca74f055cc322fcbc6ec8c31cfb8dad892f (diff)
parent814eae5982cc55988f642f7f1d10eaf340845c00 (diff)
Merge tag 'pci-v4.14-fixes-6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fix from Bjorn Helgaas: "Move alpha PCI IRQ map/swizzle functions out of initdata to fix regression from PCI core IRQ mapping changes (Lorenzo Pieralisi)" * tag 'pci-v4.14-fixes-6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: alpha/PCI: Move pci_map_irq()/pci_swizzle() out of initdata
-rw-r--r--arch/alpha/kernel/sys_alcor.c4
-rw-r--r--arch/alpha/kernel/sys_cabriolet.c12
-rw-r--r--arch/alpha/kernel/sys_dp264.c20
-rw-r--r--arch/alpha/kernel/sys_eb64p.c4
-rw-r--r--arch/alpha/kernel/sys_eiger.c4
-rw-r--r--arch/alpha/kernel/sys_miata.c6
-rw-r--r--arch/alpha/kernel/sys_mikasa.c4
-rw-r--r--arch/alpha/kernel/sys_nautilus.c2
-rw-r--r--arch/alpha/kernel/sys_noritake.c6
-rw-r--r--arch/alpha/kernel/sys_rawhide.c4
-rw-r--r--arch/alpha/kernel/sys_ruffian.c6
-rw-r--r--arch/alpha/kernel/sys_rx164.c4
-rw-r--r--arch/alpha/kernel/sys_sable.c10
-rw-r--r--arch/alpha/kernel/sys_sio.c8
-rw-r--r--arch/alpha/kernel/sys_sx164.c4
-rw-r--r--arch/alpha/kernel/sys_takara.c6
-rw-r--r--arch/alpha/kernel/sys_wildfire.c4
17 files changed, 54 insertions, 54 deletions
diff --git a/arch/alpha/kernel/sys_alcor.c b/arch/alpha/kernel/sys_alcor.c
index 118dc6af1805..7ad074fd5ab5 100644
--- a/arch/alpha/kernel/sys_alcor.c
+++ b/arch/alpha/kernel/sys_alcor.c
@@ -181,10 +181,10 @@ alcor_init_irq(void)
181 * comes in on. This makes interrupt processing much easier. 181 * comes in on. This makes interrupt processing much easier.
182 */ 182 */
183 183
184static int __init 184static int
185alcor_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 185alcor_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
186{ 186{
187 static char irq_tab[7][5] __initdata = { 187 static char irq_tab[7][5] = {
188 /*INT INTA INTB INTC INTD */ 188 /*INT INTA INTB INTC INTD */
189 /* note: IDSEL 17 is XLT only */ 189 /* note: IDSEL 17 is XLT only */
190 {16+13, 16+13, 16+13, 16+13, 16+13}, /* IdSel 17, TULIP */ 190 {16+13, 16+13, 16+13, 16+13, 16+13}, /* IdSel 17, TULIP */
diff --git a/arch/alpha/kernel/sys_cabriolet.c b/arch/alpha/kernel/sys_cabriolet.c
index 4c50f8f40cbb..c0fa1fe5ce77 100644
--- a/arch/alpha/kernel/sys_cabriolet.c
+++ b/arch/alpha/kernel/sys_cabriolet.c
@@ -173,10 +173,10 @@ pc164_init_irq(void)
173 * because it is the Saturn IO (SIO) PCI/ISA Bridge Chip. 173 * because it is the Saturn IO (SIO) PCI/ISA Bridge Chip.
174 */ 174 */
175 175
176static inline int __init 176static inline int
177eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 177eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
178{ 178{
179 static char irq_tab[5][5] __initdata = { 179 static char irq_tab[5][5] = {
180 /*INT INTA INTB INTC INTD */ 180 /*INT INTA INTB INTC INTD */
181 {16+0, 16+0, 16+5, 16+9, 16+13}, /* IdSel 6, slot 0, J25 */ 181 {16+0, 16+0, 16+5, 16+9, 16+13}, /* IdSel 6, slot 0, J25 */
182 {16+1, 16+1, 16+6, 16+10, 16+14}, /* IdSel 7, slot 1, J26 */ 182 {16+1, 16+1, 16+6, 16+10, 16+14}, /* IdSel 7, slot 1, J26 */
@@ -203,10 +203,10 @@ eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
203 * because it is the Saturn IO (SIO) PCI/ISA Bridge Chip. 203 * because it is the Saturn IO (SIO) PCI/ISA Bridge Chip.
204 */ 204 */
205 205
206static inline int __init 206static inline int
207cabriolet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 207cabriolet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
208{ 208{
209 static char irq_tab[5][5] __initdata = { 209 static char irq_tab[5][5] = {
210 /*INT INTA INTB INTC INTD */ 210 /*INT INTA INTB INTC INTD */
211 { 16+2, 16+2, 16+7, 16+11, 16+15}, /* IdSel 5, slot 2, J21 */ 211 { 16+2, 16+2, 16+7, 16+11, 16+15}, /* IdSel 5, slot 2, J21 */
212 { 16+0, 16+0, 16+5, 16+9, 16+13}, /* IdSel 6, slot 0, J19 */ 212 { 16+0, 16+0, 16+5, 16+9, 16+13}, /* IdSel 6, slot 0, J19 */
@@ -287,10 +287,10 @@ cia_cab_init_pci(void)
287 * 287 *
288 */ 288 */
289 289
290static inline int __init 290static inline int
291alphapc164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 291alphapc164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
292{ 292{
293 static char irq_tab[7][5] __initdata = { 293 static char irq_tab[7][5] = {
294 /*INT INTA INTB INTC INTD */ 294 /*INT INTA INTB INTC INTD */
295 { 16+2, 16+2, 16+9, 16+13, 16+17}, /* IdSel 5, slot 2, J20 */ 295 { 16+2, 16+2, 16+9, 16+13, 16+17}, /* IdSel 5, slot 2, J20 */
296 { 16+0, 16+0, 16+7, 16+11, 16+15}, /* IdSel 6, slot 0, J29 */ 296 { 16+0, 16+0, 16+7, 16+11, 16+15}, /* IdSel 6, slot 0, J29 */
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c
index 6c35159bc00e..9e1e40ea1d14 100644
--- a/arch/alpha/kernel/sys_dp264.c
+++ b/arch/alpha/kernel/sys_dp264.c
@@ -356,7 +356,7 @@ clipper_init_irq(void)
356 * 10 64 bit PCI option slot 3 (not bus 0) 356 * 10 64 bit PCI option slot 3 (not bus 0)
357 */ 357 */
358 358
359static int __init 359static int
360isa_irq_fixup(const struct pci_dev *dev, int irq) 360isa_irq_fixup(const struct pci_dev *dev, int irq)
361{ 361{
362 u8 irq8; 362 u8 irq8;
@@ -372,10 +372,10 @@ isa_irq_fixup(const struct pci_dev *dev, int irq)
372 return irq8 & 0xf; 372 return irq8 & 0xf;
373} 373}
374 374
375static int __init 375static int
376dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 376dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
377{ 377{
378 static char irq_tab[6][5] __initdata = { 378 static char irq_tab[6][5] = {
379 /*INT INTA INTB INTC INTD */ 379 /*INT INTA INTB INTC INTD */
380 { -1, -1, -1, -1, -1}, /* IdSel 5 ISA Bridge */ 380 { -1, -1, -1, -1, -1}, /* IdSel 5 ISA Bridge */
381 { 16+ 3, 16+ 3, 16+ 2, 16+ 2, 16+ 2}, /* IdSel 6 SCSI builtin*/ 381 { 16+ 3, 16+ 3, 16+ 2, 16+ 2, 16+ 2}, /* IdSel 6 SCSI builtin*/
@@ -394,10 +394,10 @@ dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
394 return isa_irq_fixup(dev, irq); 394 return isa_irq_fixup(dev, irq);
395} 395}
396 396
397static int __init 397static int
398monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 398monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
399{ 399{
400 static char irq_tab[13][5] __initdata = { 400 static char irq_tab[13][5] = {
401 /*INT INTA INTB INTC INTD */ 401 /*INT INTA INTB INTC INTD */
402 { 45, 45, 45, 45, 45}, /* IdSel 3 21143 PCI1 */ 402 { 45, 45, 45, 45, 45}, /* IdSel 3 21143 PCI1 */
403 { -1, -1, -1, -1, -1}, /* IdSel 4 unused */ 403 { -1, -1, -1, -1, -1}, /* IdSel 4 unused */
@@ -423,7 +423,7 @@ monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
423 return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP); 423 return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP);
424} 424}
425 425
426static u8 __init 426static u8
427monet_swizzle(struct pci_dev *dev, u8 *pinp) 427monet_swizzle(struct pci_dev *dev, u8 *pinp)
428{ 428{
429 struct pci_controller *hose = dev->sysdata; 429 struct pci_controller *hose = dev->sysdata;
@@ -456,10 +456,10 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp)
456 return slot; 456 return slot;
457} 457}
458 458
459static int __init 459static int
460webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 460webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
461{ 461{
462 static char irq_tab[13][5] __initdata = { 462 static char irq_tab[13][5] = {
463 /*INT INTA INTB INTC INTD */ 463 /*INT INTA INTB INTC INTD */
464 { -1, -1, -1, -1, -1}, /* IdSel 7 ISA Bridge */ 464 { -1, -1, -1, -1, -1}, /* IdSel 7 ISA Bridge */
465 { -1, -1, -1, -1, -1}, /* IdSel 8 unused */ 465 { -1, -1, -1, -1, -1}, /* IdSel 8 unused */
@@ -478,10 +478,10 @@ webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
478 return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP); 478 return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP);
479} 479}
480 480
481static int __init 481static int
482clipper_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 482clipper_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
483{ 483{
484 static char irq_tab[7][5] __initdata = { 484 static char irq_tab[7][5] = {
485 /*INT INTA INTB INTC INTD */ 485 /*INT INTA INTB INTC INTD */
486 { 16+ 8, 16+ 8, 16+ 9, 16+10, 16+11}, /* IdSel 1 slot 1 */ 486 { 16+ 8, 16+ 8, 16+ 9, 16+10, 16+11}, /* IdSel 1 slot 1 */
487 { 16+12, 16+12, 16+13, 16+14, 16+15}, /* IdSel 2 slot 2 */ 487 { 16+12, 16+12, 16+13, 16+14, 16+15}, /* IdSel 2 slot 2 */
diff --git a/arch/alpha/kernel/sys_eb64p.c b/arch/alpha/kernel/sys_eb64p.c
index ad40a425e841..372661c56537 100644
--- a/arch/alpha/kernel/sys_eb64p.c
+++ b/arch/alpha/kernel/sys_eb64p.c
@@ -167,10 +167,10 @@ eb64p_init_irq(void)
167 * comes in on. This makes interrupt processing much easier. 167 * comes in on. This makes interrupt processing much easier.
168 */ 168 */
169 169
170static int __init 170static int
171eb64p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 171eb64p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
172{ 172{
173 static char irq_tab[5][5] __initdata = { 173 static char irq_tab[5][5] = {
174 /*INT INTA INTB INTC INTD */ 174 /*INT INTA INTB INTC INTD */
175 {16+7, 16+7, 16+7, 16+7, 16+7}, /* IdSel 5, slot ?, ?? */ 175 {16+7, 16+7, 16+7, 16+7, 16+7}, /* IdSel 5, slot ?, ?? */
176 {16+0, 16+0, 16+2, 16+4, 16+9}, /* IdSel 6, slot ?, ?? */ 176 {16+0, 16+0, 16+2, 16+4, 16+9}, /* IdSel 6, slot ?, ?? */
diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c
index 15f42083bdb3..2731738b5872 100644
--- a/arch/alpha/kernel/sys_eiger.c
+++ b/arch/alpha/kernel/sys_eiger.c
@@ -141,7 +141,7 @@ eiger_init_irq(void)
141 } 141 }
142} 142}
143 143
144static int __init 144static int
145eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 145eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
146{ 146{
147 u8 irq_orig; 147 u8 irq_orig;
@@ -158,7 +158,7 @@ eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
158 return irq_orig - 0x80; 158 return irq_orig - 0x80;
159} 159}
160 160
161static u8 __init 161static u8
162eiger_swizzle(struct pci_dev *dev, u8 *pinp) 162eiger_swizzle(struct pci_dev *dev, u8 *pinp)
163{ 163{
164 struct pci_controller *hose = dev->sysdata; 164 struct pci_controller *hose = dev->sysdata;
diff --git a/arch/alpha/kernel/sys_miata.c b/arch/alpha/kernel/sys_miata.c
index d5b9776a608d..731d693fa1f9 100644
--- a/arch/alpha/kernel/sys_miata.c
+++ b/arch/alpha/kernel/sys_miata.c
@@ -149,10 +149,10 @@ miata_init_irq(void)
149 * comes in on. This makes interrupt processing much easier. 149 * comes in on. This makes interrupt processing much easier.
150 */ 150 */
151 151
152static int __init 152static int
153miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 153miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
154{ 154{
155 static char irq_tab[18][5] __initdata = { 155 static char irq_tab[18][5] = {
156 /*INT INTA INTB INTC INTD */ 156 /*INT INTA INTB INTC INTD */
157 {16+ 8, 16+ 8, 16+ 8, 16+ 8, 16+ 8}, /* IdSel 14, DC21142 */ 157 {16+ 8, 16+ 8, 16+ 8, 16+ 8, 16+ 8}, /* IdSel 14, DC21142 */
158 { -1, -1, -1, -1, -1}, /* IdSel 15, EIDE */ 158 { -1, -1, -1, -1, -1}, /* IdSel 15, EIDE */
@@ -196,7 +196,7 @@ miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
196 return COMMON_TABLE_LOOKUP; 196 return COMMON_TABLE_LOOKUP;
197} 197}
198 198
199static u8 __init 199static u8
200miata_swizzle(struct pci_dev *dev, u8 *pinp) 200miata_swizzle(struct pci_dev *dev, u8 *pinp)
201{ 201{
202 int slot, pin = *pinp; 202 int slot, pin = *pinp;
diff --git a/arch/alpha/kernel/sys_mikasa.c b/arch/alpha/kernel/sys_mikasa.c
index 5e82dc1ad6f2..350ec9c8335b 100644
--- a/arch/alpha/kernel/sys_mikasa.c
+++ b/arch/alpha/kernel/sys_mikasa.c
@@ -145,10 +145,10 @@ mikasa_init_irq(void)
145 * comes in on. This makes interrupt processing much easier. 145 * comes in on. This makes interrupt processing much easier.
146 */ 146 */
147 147
148static int __init 148static int
149mikasa_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 149mikasa_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
150{ 150{
151 static char irq_tab[8][5] __initdata = { 151 static char irq_tab[8][5] = {
152 /*INT INTA INTB INTC INTD */ 152 /*INT INTA INTB INTC INTD */
153 {16+12, 16+12, 16+12, 16+12, 16+12}, /* IdSel 17, SCSI */ 153 {16+12, 16+12, 16+12, 16+12, 16+12}, /* IdSel 17, SCSI */
154 { -1, -1, -1, -1, -1}, /* IdSel 18, PCEB */ 154 { -1, -1, -1, -1, -1}, /* IdSel 18, PCEB */
diff --git a/arch/alpha/kernel/sys_nautilus.c b/arch/alpha/kernel/sys_nautilus.c
index 8ae04a121186..d019e4ce07bd 100644
--- a/arch/alpha/kernel/sys_nautilus.c
+++ b/arch/alpha/kernel/sys_nautilus.c
@@ -62,7 +62,7 @@ nautilus_init_irq(void)
62 common_init_isa_dma(); 62 common_init_isa_dma();
63} 63}
64 64
65static int __init 65static int
66nautilus_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 66nautilus_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
67{ 67{
68 /* Preserve the IRQ set up by the console. */ 68 /* Preserve the IRQ set up by the console. */
diff --git a/arch/alpha/kernel/sys_noritake.c b/arch/alpha/kernel/sys_noritake.c
index 063e594fd969..2301678d9f9d 100644
--- a/arch/alpha/kernel/sys_noritake.c
+++ b/arch/alpha/kernel/sys_noritake.c
@@ -193,10 +193,10 @@ noritake_init_irq(void)
193 * comes in on. This makes interrupt processing much easier. 193 * comes in on. This makes interrupt processing much easier.
194 */ 194 */
195 195
196static int __init 196static int
197noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 197noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
198{ 198{
199 static char irq_tab[15][5] __initdata = { 199 static char irq_tab[15][5] = {
200 /*INT INTA INTB INTC INTD */ 200 /*INT INTA INTB INTC INTD */
201 /* note: IDSELs 16, 17, and 25 are CORELLE only */ 201 /* note: IDSELs 16, 17, and 25 are CORELLE only */
202 { 16+1, 16+1, 16+1, 16+1, 16+1}, /* IdSel 16, QLOGIC */ 202 { 16+1, 16+1, 16+1, 16+1, 16+1}, /* IdSel 16, QLOGIC */
@@ -221,7 +221,7 @@ noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
221 return COMMON_TABLE_LOOKUP; 221 return COMMON_TABLE_LOOKUP;
222} 222}
223 223
224static u8 __init 224static u8
225noritake_swizzle(struct pci_dev *dev, u8 *pinp) 225noritake_swizzle(struct pci_dev *dev, u8 *pinp)
226{ 226{
227 int slot, pin = *pinp; 227 int slot, pin = *pinp;
diff --git a/arch/alpha/kernel/sys_rawhide.c b/arch/alpha/kernel/sys_rawhide.c
index dfd510ae5d8c..546822d07dc7 100644
--- a/arch/alpha/kernel/sys_rawhide.c
+++ b/arch/alpha/kernel/sys_rawhide.c
@@ -221,10 +221,10 @@ rawhide_init_irq(void)
221 * 221 *
222 */ 222 */
223 223
224static int __init 224static int
225rawhide_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 225rawhide_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
226{ 226{
227 static char irq_tab[5][5] __initdata = { 227 static char irq_tab[5][5] = {
228 /*INT INTA INTB INTC INTD */ 228 /*INT INTA INTB INTC INTD */
229 { 16+16, 16+16, 16+16, 16+16, 16+16}, /* IdSel 1 SCSI PCI 1 */ 229 { 16+16, 16+16, 16+16, 16+16, 16+16}, /* IdSel 1 SCSI PCI 1 */
230 { 16+ 0, 16+ 0, 16+ 1, 16+ 2, 16+ 3}, /* IdSel 2 slot 2 */ 230 { 16+ 0, 16+ 0, 16+ 1, 16+ 2, 16+ 3}, /* IdSel 2 slot 2 */
diff --git a/arch/alpha/kernel/sys_ruffian.c b/arch/alpha/kernel/sys_ruffian.c
index a3f485257170..3b35e1913492 100644
--- a/arch/alpha/kernel/sys_ruffian.c
+++ b/arch/alpha/kernel/sys_ruffian.c
@@ -117,10 +117,10 @@ ruffian_kill_arch (int mode)
117 * 117 *
118 */ 118 */
119 119
120static int __init 120static int
121ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 121ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
122{ 122{
123 static char irq_tab[11][5] __initdata = { 123 static char irq_tab[11][5] = {
124 /*INT INTA INTB INTC INTD */ 124 /*INT INTA INTB INTC INTD */
125 {-1, -1, -1, -1, -1}, /* IdSel 13, 21052 */ 125 {-1, -1, -1, -1, -1}, /* IdSel 13, 21052 */
126 {-1, -1, -1, -1, -1}, /* IdSel 14, SIO */ 126 {-1, -1, -1, -1, -1}, /* IdSel 14, SIO */
@@ -139,7 +139,7 @@ ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
139 return COMMON_TABLE_LOOKUP; 139 return COMMON_TABLE_LOOKUP;
140} 140}
141 141
142static u8 __init 142static u8
143ruffian_swizzle(struct pci_dev *dev, u8 *pinp) 143ruffian_swizzle(struct pci_dev *dev, u8 *pinp)
144{ 144{
145 int slot, pin = *pinp; 145 int slot, pin = *pinp;
diff --git a/arch/alpha/kernel/sys_rx164.c b/arch/alpha/kernel/sys_rx164.c
index 08ee737d4fba..e178007107ef 100644
--- a/arch/alpha/kernel/sys_rx164.c
+++ b/arch/alpha/kernel/sys_rx164.c
@@ -142,7 +142,7 @@ rx164_init_irq(void)
142 * 142 *
143 */ 143 */
144 144
145static int __init 145static int
146rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 146rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
147{ 147{
148#if 0 148#if 0
@@ -156,7 +156,7 @@ rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
156 { 16+1, 16+1, 16+6, 16+11, 16+16}, /* IdSel 10, slot 4 */ 156 { 16+1, 16+1, 16+6, 16+11, 16+16}, /* IdSel 10, slot 4 */
157 }; 157 };
158#else 158#else
159 static char irq_tab[6][5] __initdata = { 159 static char irq_tab[6][5] = {
160 /*INT INTA INTB INTC INTD */ 160 /*INT INTA INTB INTC INTD */
161 { 16+0, 16+0, 16+6, 16+11, 16+16}, /* IdSel 5, slot 0 */ 161 { 16+0, 16+0, 16+6, 16+11, 16+16}, /* IdSel 5, slot 0 */
162 { 16+1, 16+1, 16+7, 16+12, 16+17}, /* IdSel 6, slot 1 */ 162 { 16+1, 16+1, 16+7, 16+12, 16+17}, /* IdSel 6, slot 1 */
diff --git a/arch/alpha/kernel/sys_sable.c b/arch/alpha/kernel/sys_sable.c
index 8a0aa6d67b53..86d259c2612d 100644
--- a/arch/alpha/kernel/sys_sable.c
+++ b/arch/alpha/kernel/sys_sable.c
@@ -192,10 +192,10 @@ sable_init_irq(void)
192 * with the values in the irq swizzling tables above. 192 * with the values in the irq swizzling tables above.
193 */ 193 */
194 194
195static int __init 195static int
196sable_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 196sable_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
197{ 197{
198 static char irq_tab[9][5] __initdata = { 198 static char irq_tab[9][5] = {
199 /*INT INTA INTB INTC INTD */ 199 /*INT INTA INTB INTC INTD */
200 { 32+0, 32+0, 32+0, 32+0, 32+0}, /* IdSel 0, TULIP */ 200 { 32+0, 32+0, 32+0, 32+0, 32+0}, /* IdSel 0, TULIP */
201 { 32+1, 32+1, 32+1, 32+1, 32+1}, /* IdSel 1, SCSI */ 201 { 32+1, 32+1, 32+1, 32+1, 32+1}, /* IdSel 1, SCSI */
@@ -374,10 +374,10 @@ lynx_init_irq(void)
374 * with the values in the irq swizzling tables above. 374 * with the values in the irq swizzling tables above.
375 */ 375 */
376 376
377static int __init 377static int
378lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 378lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
379{ 379{
380 static char irq_tab[19][5] __initdata = { 380 static char irq_tab[19][5] = {
381 /*INT INTA INTB INTC INTD */ 381 /*INT INTA INTB INTC INTD */
382 { -1, -1, -1, -1, -1}, /* IdSel 13, PCEB */ 382 { -1, -1, -1, -1, -1}, /* IdSel 13, PCEB */
383 { -1, -1, -1, -1, -1}, /* IdSel 14, PPB */ 383 { -1, -1, -1, -1, -1}, /* IdSel 14, PPB */
@@ -404,7 +404,7 @@ lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
404 return COMMON_TABLE_LOOKUP; 404 return COMMON_TABLE_LOOKUP;
405} 405}
406 406
407static u8 __init 407static u8
408lynx_swizzle(struct pci_dev *dev, u8 *pinp) 408lynx_swizzle(struct pci_dev *dev, u8 *pinp)
409{ 409{
410 int slot, pin = *pinp; 410 int slot, pin = *pinp;
diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c
index febd24eba7a6..9fd2895639d5 100644
--- a/arch/alpha/kernel/sys_sio.c
+++ b/arch/alpha/kernel/sys_sio.c
@@ -144,7 +144,7 @@ sio_fixup_irq_levels(unsigned int level_bits)
144 outb((level_bits >> 8) & 0xff, 0x4d1); 144 outb((level_bits >> 8) & 0xff, 0x4d1);
145} 145}
146 146
147static inline int __init 147static inline int
148noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 148noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
149{ 149{
150 /* 150 /*
@@ -165,7 +165,7 @@ noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
165 * that they use the default INTA line, if they are interrupt 165 * that they use the default INTA line, if they are interrupt
166 * driven at all). 166 * driven at all).
167 */ 167 */
168 static char irq_tab[][5] __initdata = { 168 static char irq_tab[][5] = {
169 /*INT A B C D */ 169 /*INT A B C D */
170 { 3, 3, 3, 3, 3}, /* idsel 6 (53c810) */ 170 { 3, 3, 3, 3, 3}, /* idsel 6 (53c810) */
171 {-1, -1, -1, -1, -1}, /* idsel 7 (SIO: PCI/ISA bridge) */ 171 {-1, -1, -1, -1, -1}, /* idsel 7 (SIO: PCI/ISA bridge) */
@@ -183,10 +183,10 @@ noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
183 return irq >= 0 ? tmp : -1; 183 return irq >= 0 ? tmp : -1;
184} 184}
185 185
186static inline int __init 186static inline int
187p2k_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 187p2k_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
188{ 188{
189 static char irq_tab[][5] __initdata = { 189 static char irq_tab[][5] = {
190 /*INT A B C D */ 190 /*INT A B C D */
191 { 0, 0, -1, -1, -1}, /* idsel 6 (53c810) */ 191 { 0, 0, -1, -1, -1}, /* idsel 6 (53c810) */
192 {-1, -1, -1, -1, -1}, /* idsel 7 (SIO: PCI/ISA bridge) */ 192 {-1, -1, -1, -1, -1}, /* idsel 7 (SIO: PCI/ISA bridge) */
diff --git a/arch/alpha/kernel/sys_sx164.c b/arch/alpha/kernel/sys_sx164.c
index d063b360efed..23eee54d714a 100644
--- a/arch/alpha/kernel/sys_sx164.c
+++ b/arch/alpha/kernel/sys_sx164.c
@@ -94,10 +94,10 @@ sx164_init_irq(void)
94 * 9 32 bit PCI option slot 3 94 * 9 32 bit PCI option slot 3
95 */ 95 */
96 96
97static int __init 97static int
98sx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 98sx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
99{ 99{
100 static char irq_tab[5][5] __initdata = { 100 static char irq_tab[5][5] = {
101 /*INT INTA INTB INTC INTD */ 101 /*INT INTA INTB INTC INTD */
102 { 16+ 9, 16+ 9, 16+13, 16+17, 16+21}, /* IdSel 5 slot 2 J17 */ 102 { 16+ 9, 16+ 9, 16+13, 16+17, 16+21}, /* IdSel 5 slot 2 J17 */
103 { 16+11, 16+11, 16+15, 16+19, 16+23}, /* IdSel 6 slot 0 J19 */ 103 { 16+11, 16+11, 16+15, 16+19, 16+23}, /* IdSel 6 slot 0 J19 */
diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c
index dd0f1eae3c68..9101f2bb6176 100644
--- a/arch/alpha/kernel/sys_takara.c
+++ b/arch/alpha/kernel/sys_takara.c
@@ -155,10 +155,10 @@ takara_init_irq(void)
155 * assign it whatever the hell IRQ we like and it doesn't matter. 155 * assign it whatever the hell IRQ we like and it doesn't matter.
156 */ 156 */
157 157
158static int __init 158static int
159takara_map_irq_srm(const struct pci_dev *dev, u8 slot, u8 pin) 159takara_map_irq_srm(const struct pci_dev *dev, u8 slot, u8 pin)
160{ 160{
161 static char irq_tab[15][5] __initdata = { 161 static char irq_tab[15][5] = {
162 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ 162 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */
163 { 16+2, 16+2, 16+2, 16+2, 16+2}, /* slot 7 == device 2 */ 163 { 16+2, 16+2, 16+2, 16+2, 16+2}, /* slot 7 == device 2 */
164 { 16+1, 16+1, 16+1, 16+1, 16+1}, /* slot 8 == device 1 */ 164 { 16+1, 16+1, 16+1, 16+1, 16+1}, /* slot 8 == device 1 */
@@ -210,7 +210,7 @@ takara_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
210 return COMMON_TABLE_LOOKUP; 210 return COMMON_TABLE_LOOKUP;
211} 211}
212 212
213static u8 __init 213static u8
214takara_swizzle(struct pci_dev *dev, u8 *pinp) 214takara_swizzle(struct pci_dev *dev, u8 *pinp)
215{ 215{
216 int slot = PCI_SLOT(dev->devfn); 216 int slot = PCI_SLOT(dev->devfn);
diff --git a/arch/alpha/kernel/sys_wildfire.c b/arch/alpha/kernel/sys_wildfire.c
index ee1874887776..c3f8b79fe214 100644
--- a/arch/alpha/kernel/sys_wildfire.c
+++ b/arch/alpha/kernel/sys_wildfire.c
@@ -288,10 +288,10 @@ wildfire_device_interrupt(unsigned long vector)
288 * 7 64 bit PCI 1 option slot 7 288 * 7 64 bit PCI 1 option slot 7
289 */ 289 */
290 290
291static int __init 291static int
292wildfire_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 292wildfire_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
293{ 293{
294 static char irq_tab[8][5] __initdata = { 294 static char irq_tab[8][5] = {
295 /*INT INTA INTB INTC INTD */ 295 /*INT INTA INTB INTC INTD */
296 { -1, -1, -1, -1, -1}, /* IdSel 0 ISA Bridge */ 296 { -1, -1, -1, -1, -1}, /* IdSel 0 ISA Bridge */
297 { 36, 36, 36+1, 36+2, 36+3}, /* IdSel 1 SCSI builtin */ 297 { 36, 36, 36+1, 36+2, 36+3}, /* IdSel 1 SCSI builtin */