Merge tag 'stmp-dev' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[firefly-linux-kernel-4.4.55.git] / arch / sh / drivers / pci / fixups-sh03.c
index 1615e5906168117c7a81ae73b42f7f2c42b1137a..16207bef9f52586dee90548d6c472e318dbc3a68 100644 (file)
@@ -2,6 +2,7 @@
 #include <linux/init.h>
 #include <linux/types.h>
 #include <linux/pci.h>
+#include <linux/sh_intc.h>
 
 int __init pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 {
@@ -9,21 +10,21 @@ int __init pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 
        if (dev->bus->number == 0) {
                switch (slot) {
-               case 4: return 5;       /* eth0       */
-               case 8: return 5;       /* eth1       */
-               case 6: return 2;       /* PCI bridge */
+               case 4: return evt2irq(0x2a0);  /* eth0       */
+               case 8: return evt2irq(0x2a0);  /* eth1       */
+               case 6: return evt2irq(0x240);  /* PCI bridge */
                default:
                        printk(KERN_ERR "PCI: Bad IRQ mapping request "
                                        "for slot %d\n", slot);
-                       return 2;
+                       return evt2irq(0x240);
                }
        } else {
                switch (pin) {
-               case 0:   irq =  2; break;
-               case 1:   irq =  2; break;
-               case 2:   irq =  2; break;
-               case 3:   irq =  2; break;
-               case 4:   irq =  2; break;
+               case 0:   irq =  evt2irq(0x240); break;
+               case 1:   irq =  evt2irq(0x240); break;
+               case 2:   irq =  evt2irq(0x240); break;
+               case 3:   irq =  evt2irq(0x240); break;
+               case 4:   irq =  evt2irq(0x240); break;
                default:  irq = -1; break;
                }
        }