SGI IP27 (Origin/Onyx2) and SGI IP30 (Octane) have a similair architecture and share some hardware (ioc3/bridge). To share the software parts this patchset reworks SGI IP27 interrupt and pci bridge code. By using features Linux gained during the many years since SGI IP27 code was integrated this even results in code reduction and IMHO cleaner code. Tests have been done on a two module O200 (4 CPUs) and an Origin 2000 (8 CPUs). My next step in integrating SGI IP30 support is splitting ioc3eth into a MFD and subdevice drivers. Prototype is working, but needs still more clean ups. Thomas Bogendoerfer (7): MIPS: SGI-IP27: get rid of volatile and hubreg_t MIPS: SGI-IP27: clean up bridge access and header files MIPS: SGI-IP27: use pr_info/pr_emerg and pr_cont to fix output MIPS: SGI-IP27: do xtalk scanning later MIPS: SGI-IP27: rework HUB interrupts MIPS: SGI-IP27: use generic PCI driver MIPS: SGI-IP27: abstract chipset irq from bridge arch/mips/Kconfig | 3 + arch/mips/include/asm/mach-ip27/irq.h | 12 +- arch/mips/include/asm/mach-ip27/mmzone.h | 2 - arch/mips/include/asm/pci/bridge.h | 225 ++++++------ arch/mips/include/asm/sn/addrs.h | 63 +--- arch/mips/include/asm/sn/arch.h | 2 - arch/mips/include/asm/sn/intr.h | 7 + arch/mips/include/asm/sn/sn0/addrs.h | 5 - arch/mips/include/asm/xtalk/xtalk.h | 9 - arch/mips/pci/Makefile | 1 - arch/mips/pci/ops-bridge.c | 322 ----------------- arch/mips/pci/pci-ip27.c | 233 ------------ arch/mips/sgi-ip27/Makefile | 3 +- arch/mips/sgi-ip27/ip27-hubio.c | 2 +- arch/mips/sgi-ip27/ip27-init.c | 33 +- arch/mips/sgi-ip27/ip27-irq-pci.c | 266 -------------- arch/mips/sgi-ip27/ip27-irq.c | 297 ++++++++++----- arch/mips/sgi-ip27/ip27-irqno.c | 48 --- arch/mips/sgi-ip27/ip27-memory.c | 34 +- arch/mips/sgi-ip27/ip27-nmi.c | 64 ++-- arch/mips/sgi-ip27/ip27-timer.c | 42 +-- arch/mips/sgi-ip27/ip27-xtalk.c | 44 ++- drivers/pci/controller/Kconfig | 3 + drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pci-xtalk-bridge.c | 558 +++++++++++++++++++++++++++++ include/linux/platform_data/xtalk-bridge.h | 17 + 26 files changed, 997 insertions(+), 1299 deletions(-) delete mode 100644 arch/mips/pci/ops-bridge.c delete mode 100644 arch/mips/pci/pci-ip27.c delete mode 100644 arch/mips/sgi-ip27/ip27-irq-pci.c delete mode 100644 arch/mips/sgi-ip27/ip27-irqno.c create mode 100644 drivers/pci/controller/pci-xtalk-bridge.c create mode 100644 include/linux/platform_data/xtalk-bridge.h -- 2.13.7