PCI: x86: use generic pci_swizzle_interrupt_pin()
[safe/jmp/linux-2.6] / arch / x86 / pci / irq.c
index e1d605b..4064345 100644 (file)
@@ -1068,7 +1068,7 @@ static void __init pcibios_fixup_irqs(void)
                                struct pci_dev *bridge = dev->bus->self;
                                int bus;
 
-                               pin = (((pin - 1) + PCI_SLOT(dev->devfn)) % 4) + 1;
+                               pin = pci_swizzle_interrupt_pin(dev, pin);
                                bus = bridge->bus->number;
                                irq = IO_APIC_get_PCI_irq_vector(bus,
                                                PCI_SLOT(bridge->devfn), pin - 1);
@@ -1232,7 +1232,7 @@ static int pirq_enable_irq(struct pci_dev *dev)
                        while (irq < 0 && dev->bus->parent) { /* go back to the bridge */
                                struct pci_dev *bridge = dev->bus->self;
 
-                               pin = (((pin - 1) + PCI_SLOT(dev->devfn)) % 4) + 1;
+                               pin = pci_swizzle_interrupt_pin(dev, pin);
                                irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number,
                                                PCI_SLOT(bridge->devfn), pin - 1);
                                if (irq >= 0)