diff options
author | Florian Fainelli <florian@openwrt.org> | 2007-06-11 10:07:52 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2007-06-11 10:07:52 +0000 |
commit | 071b53a00d0ed3f7609ba6d00b3b7a9a3f800c05 (patch) | |
tree | a8a72ae73de0beb5dc2ae5a1ae199058a751603d /target/linux/adm5120-2.6/files/arch/mips | |
parent | e982d6a55a64f7b8376c0509c544ba901c927be5 (diff) | |
download | master-187ad058-071b53a00d0ed3f7609ba6d00b3b7a9a3f800c05.tar.gz master-187ad058-071b53a00d0ed3f7609ba6d00b3b7a9a3f800c05.tar.bz2 master-187ad058-071b53a00d0ed3f7609ba6d00b3b7a9a3f800c05.zip |
Fix the irq mapping for routerboard devices (#1843)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7560 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/adm5120-2.6/files/arch/mips')
-rw-r--r-- | target/linux/adm5120-2.6/files/arch/mips/pci/fixup-adm5120.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/target/linux/adm5120-2.6/files/arch/mips/pci/fixup-adm5120.c b/target/linux/adm5120-2.6/files/arch/mips/pci/fixup-adm5120.c index 9f65e350ad..07119ef3ad 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/pci/fixup-adm5120.c +++ b/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; 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) { case MACH_ADM5120_RB_111: 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_153: if (slot > 0 && slot < 4) - irq = ADM5120_IRQ_PCI0+slot-1; + irq = slot + 5; break; default: if (slot > 1 && slot < 5) - irq = ADM5120_IRQ_PCI0+slot-2; + irq = ADM5120_IRQ_PCI0+slot-1; break; } -#endif + printk(KERN_INFO "PCI: mapping irq for device %s, slot:%u, pin:%u, " "irq:%d\n", pci_name(dev), slot, pin, irq); |