diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-12-16 23:37:05 -0500 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-01-07 14:13:13 -0500 |
commit | 06df69932add8108f599ef26fcdf36c4f8125e50 (patch) | |
tree | 0a9343578ec27eaffe4a0d8e0bf21c5795f9a005 | |
parent | 3e08601f7f9b497abcb383491058bfb9e1dc6ec9 (diff) |
PCI: arm: use generic INTx swizzle from PCI core
Use the generic pci_common_swizzle() instead of arch-specific code.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r-- | arch/arm/include/asm/mach/pci.h | 2 | ||||
-rw-r--r-- | arch/arm/kernel/bios32.c | 27 |
2 files changed, 1 insertions, 28 deletions
diff --git a/arch/arm/include/asm/mach/pci.h b/arch/arm/include/asm/mach/pci.h index 32da1ae17e06..a38bdc7afa34 100644 --- a/arch/arm/include/asm/mach/pci.h +++ b/arch/arm/include/asm/mach/pci.h | |||
@@ -42,7 +42,7 @@ struct pci_sys_data { | |||
42 | /* | 42 | /* |
43 | * This is the standard PCI-PCI bridge swizzling algorithm. | 43 | * This is the standard PCI-PCI bridge swizzling algorithm. |
44 | */ | 44 | */ |
45 | u8 pci_std_swizzle(struct pci_dev *dev, u8 *pinp); | 45 | #define pci_std_swizzle pci_common_swizzle |
46 | 46 | ||
47 | /* | 47 | /* |
48 | * Call this with your hw_pci struct to initialise the PCI system. | 48 | * Call this with your hw_pci struct to initialise the PCI system. |
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index 5c5a0bc06709..809681900ec8 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c | |||
@@ -480,33 +480,6 @@ EXPORT_SYMBOL(pcibios_bus_to_resource); | |||
480 | #endif | 480 | #endif |
481 | 481 | ||
482 | /* | 482 | /* |
483 | * This is the standard PCI-PCI bridge swizzling algorithm: | ||
484 | * | ||
485 | * Dev: 0 1 2 3 | ||
486 | * A A B C D | ||
487 | * B B C D A | ||
488 | * C C D A B | ||
489 | * D D A B C | ||
490 | * ^^^^^^^^^^ irq pin on bridge | ||
491 | */ | ||
492 | u8 __devinit pci_std_swizzle(struct pci_dev *dev, u8 *pinp) | ||
493 | { | ||
494 | int pin = *pinp; | ||
495 | |||
496 | while (dev->bus->self) { | ||
497 | pin = pci_swizzle_interrupt_pin(dev, pin); | ||
498 | /* | ||
499 | * move up the chain of bridges, | ||
500 | * swizzling as we go. | ||
501 | */ | ||
502 | dev = dev->bus->self; | ||
503 | } | ||
504 | *pinp = pin; | ||
505 | |||
506 | return PCI_SLOT(dev->devfn); | ||
507 | } | ||
508 | |||
509 | /* | ||
510 | * Swizzle the device pin each time we cross a bridge. | 483 | * Swizzle the device pin each time we cross a bridge. |
511 | * This might update pin and returns the slot number. | 484 | * This might update pin and returns the slot number. |
512 | */ | 485 | */ |