Fix the irq mapping for routerboard devices (#1843)

SVN-Revision: 7560
master
Florian Fainelli 18 years ago
parent f6825fb659
commit ebc6e163c3
  1. 12
      target/linux/adm5120-2.6/files/arch/mips/pci/fixup-adm5120.c

@ -66,11 +66,7 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
int irq; int irq;
irq = -1; irq = -1;
#if 1
/* FIXME: this code should be working on all boards? */
if (slot > 0 && slot < 4)
irq = ADM5120_IRQ_PCI0+slot-1;
#else
switch (mips_machtype) { switch (mips_machtype) {
case MACH_ADM5120_RB_111: case MACH_ADM5120_RB_111:
case MACH_ADM5120_RB_112: case MACH_ADM5120_RB_112:
@ -78,14 +74,14 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
case MACH_ADM5120_RB_133C: case MACH_ADM5120_RB_133C:
case MACH_ADM5120_RB_153: case MACH_ADM5120_RB_153:
if (slot > 0 && slot < 4) if (slot > 0 && slot < 4)
irq = ADM5120_IRQ_PCI0+slot-1; irq = slot + 5;
break; break;
default: default:
if (slot > 1 && slot < 5) if (slot > 1 && slot < 5)
irq = ADM5120_IRQ_PCI0+slot-2; irq = ADM5120_IRQ_PCI0+slot-1;
break; break;
} }
#endif
printk(KERN_INFO "PCI: mapping irq for device %s, slot:%u, pin:%u, " printk(KERN_INFO "PCI: mapping irq for device %s, slot:%u, pin:%u, "
"irq:%d\n", pci_name(dev), slot, pin, irq); "irq:%d\n", pci_name(dev), slot, pin, irq);

Loading…
Cancel
Save