This series adds a pci_swizzle_interrupt_pin() function in the PCI core. Most architectures currently implement this independently. After this series, many of the callers of pci_swizzle_interrupt_pin() follow a similar pattern. I'd like to consolidate those callers, too, but I haven't started that yet. One strange thing I'd like to understand eventually is why the swizzle in acpi_pci_irq_derive() does something special for CardBus bridges, while no other architecture does. Comments welcome. These patches have been compile-tested on: alpha arm ia64 mips powerpc (ppc64) sh x86 (32-bit) x86 (64-bit) I've boot-tested these architectures: ia64 x86 (32-bit) I haven't compiled parisc for want of a cross-compiler. Bjorn --- Bjorn Helgaas (12): PCI: x86: use generic pci_swizzle_interrupt_pin() PCI: sh: use generic pci_swizzle_interrupt_pin() PCI: powerpc: use generic pci_swizzle_interrupt_pin() PCI: parisc: use generic pci_swizzle_interrupt_pin() PCI: mips: use generic pci_swizzle_interrupt_pin() PCI: arm: use generic pci_swizzle_interrupt_pin() PCI: alpha: use generic pci_swizzle_interrupt_pin() PCI: add pci_swizzle_interrupt_pin() x86/PCI: minor logic simplications x86/PCI: use config space encoding for interrupt pins PCI: use config space encoding in pci_get_interrupt_pin() PCI Hotplug: cpqphp: use config space PCI interrupt pin encoding arch/alpha/kernel/pci.c | 2 + arch/alpha/kernel/pci_impl.h | 9 +----- arch/alpha/kernel/sys_dp264.c | 2 + arch/alpha/kernel/sys_eiger.c | 2 + arch/alpha/kernel/sys_miata.c | 2 + arch/alpha/kernel/sys_noritake.c | 2 + arch/alpha/kernel/sys_ruffian.c | 2 + arch/alpha/kernel/sys_sable.c | 2 + arch/arm/kernel/bios32.c | 6 ++-- arch/arm/mach-integrator/pci.c | 11 +------- arch/mips/pci/pci-ip27.c | 6 ---- arch/mips/pci/pci.c | 9 +----- arch/powerpc/kernel/prom_parse.c | 7 +---- arch/sh/drivers/pci/ops-cayman.c | 9 +----- arch/sh/drivers/pci/pci.c | 7 +---- arch/x86/pci/irq.c | 54 +++++++++++++++++-------------------- arch/x86/pci/visws.c | 7 +---- drivers/parisc/dino.c | 4 +-- drivers/parisc/iosapic.c | 3 +- drivers/pci/hotplug/cpqphp_ctrl.c | 4 +-- drivers/pci/hotplug/cpqphp_pci.c | 2 + drivers/pci/pci.c | 10 +++++-- include/linux/pci.h | 1 + 23 files changed, 60 insertions(+), 103 deletions(-) -- Signature -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html