]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-orion5x/ts209-setup.c
Merge master.kernel.org:/home/rmk/linux-2.6-arm
[karo-tx-linux.git] / arch / arm / mach-orion5x / ts209-setup.c
index 6f93668b0ed5415064169a8644fac9a20f993822..9afb41ee6e078caf22f08913f05225505f820b4f 100644 (file)
@@ -141,14 +141,17 @@ void __init qnap_ts209_pci_preinit(void)
 
 static int __init qnap_ts209_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
 {
+       int irq;
+
        /*
-        * PCIE IRQ is connected internally (not GPIO)
+        * Check for devices with hard-wired IRQs.
         */
-       if (dev->bus->number == orion5x_pcie_local_bus_nr())
-               return IRQ_ORION5X_PCIE0_INT;
+       irq = orion5x_pci_map_irq(dev, slot, pin);
+       if (irq != -1)
+               return irq;
 
        /*
-        * PCI IRQs are connected via GPIOs
+        * PCI IRQs are connected via GPIOs.
         */
        switch (slot - QNAP_TS209_PCI_SLOT0_OFFS) {
        case 0:
@@ -372,7 +375,7 @@ static void __init qnap_ts209_init(void)
                            QNAP_TS209_NOR_BOOT_SIZE);
 
        /*
-        * Open a special address decode windows for the PCIE WA.
+        * Open a special address decode windows for the PCIe WA.
         */
        orion5x_setup_pcie_wa_win(ORION5X_PCIE_WA_PHYS_BASE,
                                ORION5X_PCIE_WA_SIZE);