Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[sfrench/cifs-2.6.git] / arch / sh / drivers / pci / fixups-sh03.c
1 #include <linux/kernel.h>
2 #include <linux/init.h>
3 #include <linux/types.h>
4 #include <linux/pci.h>
5 #include <linux/sh_intc.h>
6
7 int pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
8 {
9         int irq;
10
11         if (dev->bus->number == 0) {
12                 switch (slot) {
13                 case 4: return evt2irq(0x2a0);  /* eth0       */
14                 case 8: return evt2irq(0x2a0);  /* eth1       */
15                 case 6: return evt2irq(0x240);  /* PCI bridge */
16                 default:
17                         printk(KERN_ERR "PCI: Bad IRQ mapping request "
18                                         "for slot %d\n", slot);
19                         return evt2irq(0x240);
20                 }
21         } else {
22                 switch (pin) {
23                 case 0:   irq =  evt2irq(0x240); break;
24                 case 1:   irq =  evt2irq(0x240); break;
25                 case 2:   irq =  evt2irq(0x240); break;
26                 case 3:   irq =  evt2irq(0x240); break;
27                 case 4:   irq =  evt2irq(0x240); break;
28                 default:  irq = -1; break;
29                 }
30         }
31         return irq;
32 }