diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/platforms/maple/pci.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 8debae3aa3c9..63b4d1bff359 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -516,8 +516,21 @@ void __init maple_pcibios_fixup(void) | |||
516 | dev->irq = irq_create_mapping(NULL, 1); | 516 | dev->irq = irq_create_mapping(NULL, 1); |
517 | if (dev->irq != NO_IRQ) | 517 | if (dev->irq != NO_IRQ) |
518 | set_irq_type(dev->irq, IRQ_TYPE_LEVEL_LOW); | 518 | set_irq_type(dev->irq, IRQ_TYPE_LEVEL_LOW); |
519 | } else | 519 | continue; |
520 | pci_read_irq_line(dev); | 520 | } |
521 | |||
522 | /* Hide AMD8111 IDE interrupt when in legacy mode so | ||
523 | * the driver calls pci_get_legacy_ide_irq() | ||
524 | */ | ||
525 | if (dev->vendor == PCI_VENDOR_ID_AMD && | ||
526 | dev->device == PCI_DEVICE_ID_AMD_8111_IDE && | ||
527 | (dev->class & 5) != 5) { | ||
528 | dev->irq = NO_IRQ; | ||
529 | continue; | ||
530 | } | ||
531 | |||
532 | /* For all others, map the interrupt from the device-tree */ | ||
533 | pci_read_irq_line(dev); | ||
521 | } | 534 | } |
522 | 535 | ||
523 | DBG(" <- maple_pcibios_fixup\n"); | 536 | DBG(" <- maple_pcibios_fixup\n"); |