Commit 22450e03 authored by Linus Torvalds's avatar Linus Torvalds

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
parents b35f0ca7 814eae59
...@@ -181,10 +181,10 @@ alcor_init_irq(void) ...@@ -181,10 +181,10 @@ alcor_init_irq(void)
* comes in on. This makes interrupt processing much easier. * comes in on. This makes interrupt processing much easier.
*/ */
static int __init static int
alcor_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) alcor_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[7][5] __initdata = { static char irq_tab[7][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
/* note: IDSEL 17 is XLT only */ /* note: IDSEL 17 is XLT only */
{16+13, 16+13, 16+13, 16+13, 16+13}, /* IdSel 17, TULIP */ {16+13, 16+13, 16+13, 16+13, 16+13}, /* IdSel 17, TULIP */
......
...@@ -173,10 +173,10 @@ pc164_init_irq(void) ...@@ -173,10 +173,10 @@ pc164_init_irq(void)
* because it is the Saturn IO (SIO) PCI/ISA Bridge Chip. * because it is the Saturn IO (SIO) PCI/ISA Bridge Chip.
*/ */
static inline int __init static inline int
eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[5][5] __initdata = { static char irq_tab[5][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{16+0, 16+0, 16+5, 16+9, 16+13}, /* IdSel 6, slot 0, J25 */ {16+0, 16+0, 16+5, 16+9, 16+13}, /* IdSel 6, slot 0, J25 */
{16+1, 16+1, 16+6, 16+10, 16+14}, /* IdSel 7, slot 1, J26 */ {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,10 +203,10 @@ eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
* because it is the Saturn IO (SIO) PCI/ISA Bridge Chip. * because it is the Saturn IO (SIO) PCI/ISA Bridge Chip.
*/ */
static inline int __init static inline int
cabriolet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) cabriolet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[5][5] __initdata = { static char irq_tab[5][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 16+2, 16+2, 16+7, 16+11, 16+15}, /* IdSel 5, slot 2, J21 */ { 16+2, 16+2, 16+7, 16+11, 16+15}, /* IdSel 5, slot 2, J21 */
{ 16+0, 16+0, 16+5, 16+9, 16+13}, /* IdSel 6, slot 0, J19 */ { 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,10 +287,10 @@ cia_cab_init_pci(void)
* *
*/ */
static inline int __init static inline int
alphapc164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) alphapc164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[7][5] __initdata = { static char irq_tab[7][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 16+2, 16+2, 16+9, 16+13, 16+17}, /* IdSel 5, slot 2, J20 */ { 16+2, 16+2, 16+9, 16+13, 16+17}, /* IdSel 5, slot 2, J20 */
{ 16+0, 16+0, 16+7, 16+11, 16+15}, /* IdSel 6, slot 0, J29 */ { 16+0, 16+0, 16+7, 16+11, 16+15}, /* IdSel 6, slot 0, J29 */
......
...@@ -356,7 +356,7 @@ clipper_init_irq(void) ...@@ -356,7 +356,7 @@ clipper_init_irq(void)
* 10 64 bit PCI option slot 3 (not bus 0) * 10 64 bit PCI option slot 3 (not bus 0)
*/ */
static int __init static int
isa_irq_fixup(const struct pci_dev *dev, int irq) isa_irq_fixup(const struct pci_dev *dev, int irq)
{ {
u8 irq8; u8 irq8;
...@@ -372,10 +372,10 @@ isa_irq_fixup(const struct pci_dev *dev, int irq) ...@@ -372,10 +372,10 @@ isa_irq_fixup(const struct pci_dev *dev, int irq)
return irq8 & 0xf; return irq8 & 0xf;
} }
static int __init static int
dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[6][5] __initdata = { static char irq_tab[6][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ -1, -1, -1, -1, -1}, /* IdSel 5 ISA Bridge */ { -1, -1, -1, -1, -1}, /* IdSel 5 ISA Bridge */
{ 16+ 3, 16+ 3, 16+ 2, 16+ 2, 16+ 2}, /* IdSel 6 SCSI builtin*/ { 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,10 +394,10 @@ dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return isa_irq_fixup(dev, irq); return isa_irq_fixup(dev, irq);
} }
static int __init static int
monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[13][5] __initdata = { static char irq_tab[13][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 45, 45, 45, 45, 45}, /* IdSel 3 21143 PCI1 */ { 45, 45, 45, 45, 45}, /* IdSel 3 21143 PCI1 */
{ -1, -1, -1, -1, -1}, /* IdSel 4 unused */ { -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,7 +423,7 @@ monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP); return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP);
} }
static u8 __init static u8
monet_swizzle(struct pci_dev *dev, u8 *pinp) monet_swizzle(struct pci_dev *dev, u8 *pinp)
{ {
struct pci_controller *hose = dev->sysdata; struct pci_controller *hose = dev->sysdata;
...@@ -456,10 +456,10 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp) ...@@ -456,10 +456,10 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp)
return slot; return slot;
} }
static int __init static int
webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[13][5] __initdata = { static char irq_tab[13][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ -1, -1, -1, -1, -1}, /* IdSel 7 ISA Bridge */ { -1, -1, -1, -1, -1}, /* IdSel 7 ISA Bridge */
{ -1, -1, -1, -1, -1}, /* IdSel 8 unused */ { -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,10 +478,10 @@ webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP); return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP);
} }
static int __init static int
clipper_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) clipper_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[7][5] __initdata = { static char irq_tab[7][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 16+ 8, 16+ 8, 16+ 9, 16+10, 16+11}, /* IdSel 1 slot 1 */ { 16+ 8, 16+ 8, 16+ 9, 16+10, 16+11}, /* IdSel 1 slot 1 */
{ 16+12, 16+12, 16+13, 16+14, 16+15}, /* IdSel 2 slot 2 */ { 16+12, 16+12, 16+13, 16+14, 16+15}, /* IdSel 2 slot 2 */
......
...@@ -167,10 +167,10 @@ eb64p_init_irq(void) ...@@ -167,10 +167,10 @@ eb64p_init_irq(void)
* comes in on. This makes interrupt processing much easier. * comes in on. This makes interrupt processing much easier.
*/ */
static int __init static int
eb64p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) eb64p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[5][5] __initdata = { static char irq_tab[5][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{16+7, 16+7, 16+7, 16+7, 16+7}, /* IdSel 5, slot ?, ?? */ {16+7, 16+7, 16+7, 16+7, 16+7}, /* IdSel 5, slot ?, ?? */
{16+0, 16+0, 16+2, 16+4, 16+9}, /* IdSel 6, slot ?, ?? */ {16+0, 16+0, 16+2, 16+4, 16+9}, /* IdSel 6, slot ?, ?? */
......
...@@ -141,7 +141,7 @@ eiger_init_irq(void) ...@@ -141,7 +141,7 @@ eiger_init_irq(void)
} }
} }
static int __init static int
eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
u8 irq_orig; u8 irq_orig;
...@@ -158,7 +158,7 @@ eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ...@@ -158,7 +158,7 @@ eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return irq_orig - 0x80; return irq_orig - 0x80;
} }
static u8 __init static u8
eiger_swizzle(struct pci_dev *dev, u8 *pinp) eiger_swizzle(struct pci_dev *dev, u8 *pinp)
{ {
struct pci_controller *hose = dev->sysdata; struct pci_controller *hose = dev->sysdata;
......
...@@ -149,10 +149,10 @@ miata_init_irq(void) ...@@ -149,10 +149,10 @@ miata_init_irq(void)
* comes in on. This makes interrupt processing much easier. * comes in on. This makes interrupt processing much easier.
*/ */
static int __init static int
miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[18][5] __initdata = { static char irq_tab[18][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{16+ 8, 16+ 8, 16+ 8, 16+ 8, 16+ 8}, /* IdSel 14, DC21142 */ {16+ 8, 16+ 8, 16+ 8, 16+ 8, 16+ 8}, /* IdSel 14, DC21142 */
{ -1, -1, -1, -1, -1}, /* IdSel 15, EIDE */ { -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,7 +196,7 @@ miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return COMMON_TABLE_LOOKUP; return COMMON_TABLE_LOOKUP;
} }
static u8 __init static u8
miata_swizzle(struct pci_dev *dev, u8 *pinp) miata_swizzle(struct pci_dev *dev, u8 *pinp)
{ {
int slot, pin = *pinp; int slot, pin = *pinp;
......
...@@ -145,10 +145,10 @@ mikasa_init_irq(void) ...@@ -145,10 +145,10 @@ mikasa_init_irq(void)
* comes in on. This makes interrupt processing much easier. * comes in on. This makes interrupt processing much easier.
*/ */
static int __init static int
mikasa_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) mikasa_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[8][5] __initdata = { static char irq_tab[8][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{16+12, 16+12, 16+12, 16+12, 16+12}, /* IdSel 17, SCSI */ {16+12, 16+12, 16+12, 16+12, 16+12}, /* IdSel 17, SCSI */
{ -1, -1, -1, -1, -1}, /* IdSel 18, PCEB */ { -1, -1, -1, -1, -1}, /* IdSel 18, PCEB */
......
...@@ -62,7 +62,7 @@ nautilus_init_irq(void) ...@@ -62,7 +62,7 @@ nautilus_init_irq(void)
common_init_isa_dma(); common_init_isa_dma();
} }
static int __init static int
nautilus_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) nautilus_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
/* Preserve the IRQ set up by the console. */ /* Preserve the IRQ set up by the console. */
......
...@@ -193,10 +193,10 @@ noritake_init_irq(void) ...@@ -193,10 +193,10 @@ noritake_init_irq(void)
* comes in on. This makes interrupt processing much easier. * comes in on. This makes interrupt processing much easier.
*/ */
static int __init static int
noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[15][5] __initdata = { static char irq_tab[15][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
/* note: IDSELs 16, 17, and 25 are CORELLE only */ /* note: IDSELs 16, 17, and 25 are CORELLE only */
{ 16+1, 16+1, 16+1, 16+1, 16+1}, /* IdSel 16, QLOGIC */ { 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,7 +221,7 @@ noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return COMMON_TABLE_LOOKUP; return COMMON_TABLE_LOOKUP;
} }
static u8 __init static u8
noritake_swizzle(struct pci_dev *dev, u8 *pinp) noritake_swizzle(struct pci_dev *dev, u8 *pinp)
{ {
int slot, pin = *pinp; int slot, pin = *pinp;
......
...@@ -221,10 +221,10 @@ rawhide_init_irq(void) ...@@ -221,10 +221,10 @@ rawhide_init_irq(void)
* *
*/ */
static int __init static int
rawhide_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) rawhide_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[5][5] __initdata = { static char irq_tab[5][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 16+16, 16+16, 16+16, 16+16, 16+16}, /* IdSel 1 SCSI PCI 1 */ { 16+16, 16+16, 16+16, 16+16, 16+16}, /* IdSel 1 SCSI PCI 1 */
{ 16+ 0, 16+ 0, 16+ 1, 16+ 2, 16+ 3}, /* IdSel 2 slot 2 */ { 16+ 0, 16+ 0, 16+ 1, 16+ 2, 16+ 3}, /* IdSel 2 slot 2 */
......
...@@ -117,10 +117,10 @@ ruffian_kill_arch (int mode) ...@@ -117,10 +117,10 @@ ruffian_kill_arch (int mode)
* *
*/ */
static int __init static int
ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[11][5] __initdata = { static char irq_tab[11][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{-1, -1, -1, -1, -1}, /* IdSel 13, 21052 */ {-1, -1, -1, -1, -1}, /* IdSel 13, 21052 */
{-1, -1, -1, -1, -1}, /* IdSel 14, SIO */ {-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,7 +139,7 @@ ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return COMMON_TABLE_LOOKUP; return COMMON_TABLE_LOOKUP;
} }
static u8 __init static u8
ruffian_swizzle(struct pci_dev *dev, u8 *pinp) ruffian_swizzle(struct pci_dev *dev, u8 *pinp)
{ {
int slot, pin = *pinp; int slot, pin = *pinp;
......
...@@ -142,7 +142,7 @@ rx164_init_irq(void) ...@@ -142,7 +142,7 @@ rx164_init_irq(void)
* *
*/ */
static int __init static int
rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
#if 0 #if 0
...@@ -156,7 +156,7 @@ rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ...@@ -156,7 +156,7 @@ rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ 16+1, 16+1, 16+6, 16+11, 16+16}, /* IdSel 10, slot 4 */ { 16+1, 16+1, 16+6, 16+11, 16+16}, /* IdSel 10, slot 4 */
}; };
#else #else
static char irq_tab[6][5] __initdata = { static char irq_tab[6][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 16+0, 16+0, 16+6, 16+11, 16+16}, /* IdSel 5, slot 0 */ { 16+0, 16+0, 16+6, 16+11, 16+16}, /* IdSel 5, slot 0 */
{ 16+1, 16+1, 16+7, 16+12, 16+17}, /* IdSel 6, slot 1 */ { 16+1, 16+1, 16+7, 16+12, 16+17}, /* IdSel 6, slot 1 */
......
...@@ -192,10 +192,10 @@ sable_init_irq(void) ...@@ -192,10 +192,10 @@ sable_init_irq(void)
* with the values in the irq swizzling tables above. * with the values in the irq swizzling tables above.
*/ */
static int __init static int
sable_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) sable_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[9][5] __initdata = { static char irq_tab[9][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 32+0, 32+0, 32+0, 32+0, 32+0}, /* IdSel 0, TULIP */ { 32+0, 32+0, 32+0, 32+0, 32+0}, /* IdSel 0, TULIP */
{ 32+1, 32+1, 32+1, 32+1, 32+1}, /* IdSel 1, SCSI */ { 32+1, 32+1, 32+1, 32+1, 32+1}, /* IdSel 1, SCSI */
...@@ -374,10 +374,10 @@ lynx_init_irq(void) ...@@ -374,10 +374,10 @@ lynx_init_irq(void)
* with the values in the irq swizzling tables above. * with the values in the irq swizzling tables above.
*/ */
static int __init static int
lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[19][5] __initdata = { static char irq_tab[19][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ -1, -1, -1, -1, -1}, /* IdSel 13, PCEB */ { -1, -1, -1, -1, -1}, /* IdSel 13, PCEB */
{ -1, -1, -1, -1, -1}, /* IdSel 14, PPB */ { -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,7 +404,7 @@ lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return COMMON_TABLE_LOOKUP; return COMMON_TABLE_LOOKUP;
} }
static u8 __init static u8
lynx_swizzle(struct pci_dev *dev, u8 *pinp) lynx_swizzle(struct pci_dev *dev, u8 *pinp)
{ {
int slot, pin = *pinp; int slot, pin = *pinp;
......
...@@ -144,7 +144,7 @@ sio_fixup_irq_levels(unsigned int level_bits) ...@@ -144,7 +144,7 @@ sio_fixup_irq_levels(unsigned int level_bits)
outb((level_bits >> 8) & 0xff, 0x4d1); outb((level_bits >> 8) & 0xff, 0x4d1);
} }
static inline int __init static inline int
noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
/* /*
...@@ -165,7 +165,7 @@ noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ...@@ -165,7 +165,7 @@ noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
* that they use the default INTA line, if they are interrupt * that they use the default INTA line, if they are interrupt
* driven at all). * driven at all).
*/ */
static char irq_tab[][5] __initdata = { static char irq_tab[][5] = {
/*INT A B C D */ /*INT A B C D */
{ 3, 3, 3, 3, 3}, /* idsel 6 (53c810) */ { 3, 3, 3, 3, 3}, /* idsel 6 (53c810) */
{-1, -1, -1, -1, -1}, /* idsel 7 (SIO: PCI/ISA bridge) */ {-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,10 +183,10 @@ noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return irq >= 0 ? tmp : -1; return irq >= 0 ? tmp : -1;
} }
static inline int __init static inline int
p2k_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) p2k_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[][5] __initdata = { static char irq_tab[][5] = {
/*INT A B C D */ /*INT A B C D */
{ 0, 0, -1, -1, -1}, /* idsel 6 (53c810) */ { 0, 0, -1, -1, -1}, /* idsel 6 (53c810) */
{-1, -1, -1, -1, -1}, /* idsel 7 (SIO: PCI/ISA bridge) */ {-1, -1, -1, -1, -1}, /* idsel 7 (SIO: PCI/ISA bridge) */
......
...@@ -94,10 +94,10 @@ sx164_init_irq(void) ...@@ -94,10 +94,10 @@ sx164_init_irq(void)
* 9 32 bit PCI option slot 3 * 9 32 bit PCI option slot 3
*/ */
static int __init static int
sx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) sx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[5][5] __initdata = { static char irq_tab[5][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ 16+ 9, 16+ 9, 16+13, 16+17, 16+21}, /* IdSel 5 slot 2 J17 */ { 16+ 9, 16+ 9, 16+13, 16+17, 16+21}, /* IdSel 5 slot 2 J17 */
{ 16+11, 16+11, 16+15, 16+19, 16+23}, /* IdSel 6 slot 0 J19 */ { 16+11, 16+11, 16+15, 16+19, 16+23}, /* IdSel 6 slot 0 J19 */
......
...@@ -155,10 +155,10 @@ takara_init_irq(void) ...@@ -155,10 +155,10 @@ takara_init_irq(void)
* assign it whatever the hell IRQ we like and it doesn't matter. * assign it whatever the hell IRQ we like and it doesn't matter.
*/ */
static int __init static int
takara_map_irq_srm(const struct pci_dev *dev, u8 slot, u8 pin) takara_map_irq_srm(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[15][5] __initdata = { static char irq_tab[15][5] = {
{ 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */
{ 16+2, 16+2, 16+2, 16+2, 16+2}, /* slot 7 == device 2 */ { 16+2, 16+2, 16+2, 16+2, 16+2}, /* slot 7 == device 2 */
{ 16+1, 16+1, 16+1, 16+1, 16+1}, /* slot 8 == device 1 */ { 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,7 +210,7 @@ takara_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return COMMON_TABLE_LOOKUP; return COMMON_TABLE_LOOKUP;
} }
static u8 __init static u8
takara_swizzle(struct pci_dev *dev, u8 *pinp) takara_swizzle(struct pci_dev *dev, u8 *pinp)
{ {
int slot = PCI_SLOT(dev->devfn); int slot = PCI_SLOT(dev->devfn);
......
...@@ -288,10 +288,10 @@ wildfire_device_interrupt(unsigned long vector) ...@@ -288,10 +288,10 @@ wildfire_device_interrupt(unsigned long vector)
* 7 64 bit PCI 1 option slot 7 * 7 64 bit PCI 1 option slot 7
*/ */
static int __init static int
wildfire_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) wildfire_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{ {
static char irq_tab[8][5] __initdata = { static char irq_tab[8][5] = {
/*INT INTA INTB INTC INTD */ /*INT INTA INTB INTC INTD */
{ -1, -1, -1, -1, -1}, /* IdSel 0 ISA Bridge */ { -1, -1, -1, -1, -1}, /* IdSel 0 ISA Bridge */
{ 36, 36, 36+1, 36+2, 36+3}, /* IdSel 1 SCSI builtin */ { 36, 36, 36+1, 36+2, 36+3}, /* IdSel 1 SCSI builtin */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment