diff options
Diffstat (limited to 'arch/mips/pci/fixup-jmr3927.c')
-rw-r--r-- | arch/mips/pci/fixup-jmr3927.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/arch/mips/pci/fixup-jmr3927.c b/arch/mips/pci/fixup-jmr3927.c index f8696081c5b1..6e72d213f4cd 100644 --- a/arch/mips/pci/fixup-jmr3927.c +++ b/arch/mips/pci/fixup-jmr3927.c | |||
@@ -38,6 +38,10 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | |||
38 | { | 38 | { |
39 | unsigned char irq = pin; | 39 | unsigned char irq = pin; |
40 | 40 | ||
41 | /* SMSC SLC90E66 IDE uses irq 14, 15 (default) */ | ||
42 | if (dev->vendor == PCI_VENDOR_ID_EFAR && | ||
43 | dev->device == PCI_DEVICE_ID_EFAR_SLC90E66_1) | ||
44 | return irq; | ||
41 | /* IRQ rotation (PICMG) */ | 45 | /* IRQ rotation (PICMG) */ |
42 | irq--; /* 0-3 */ | 46 | irq--; /* 0-3 */ |
43 | if (dev->bus->parent == NULL && | 47 | if (dev->bus->parent == NULL && |
@@ -93,13 +97,3 @@ int pcibios_plat_dev_init(struct pci_dev *dev) | |||
93 | { | 97 | { |
94 | return 0; | 98 | return 0; |
95 | } | 99 | } |
96 | |||
97 | int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | ||
98 | { | ||
99 | /* SMSC SLC90E66 IDE uses irq 14, 15 (default) */ | ||
100 | if (!(dev->vendor == PCI_VENDOR_ID_EFAR && | ||
101 | dev->device == PCI_DEVICE_ID_EFAR_SLC90E66_1)) | ||
102 | return pci_get_irq(dev, pin); | ||
103 | |||
104 | dev->irq = irq; | ||
105 | } | ||