This series adds support for a generic IPI mechanism that can be used by both arch and drivers to send IPIs to other CPUs. The first 9 patches add the new functionality in the generic code. Patches 10-13 make MIPS GIC irqchip driver support the new API and move MIPS arch code to use the new generic IPI mechanism if the irqchip driver supports it. Patch 14 adds IRQ-ipi.txt to Documentation explaining the new API and how to make use of it. This series is built on last RFC discussion[1]. I should have taken all comments into account and hopefully haven't missed any. This series is based on 4.3 irq/core. Thanks, Qais [1] https://lkml.org/lkml/2015/10/13/227 Qais Yousef (14): genirq: Add new IRQ_DOMAIN_FLAGS_IPI genirq: Add DOMAIN_BUS_IPI genirq: Add GENERIC_IRQ_IPI Kconfig symbol genirq: Add new struct ipi_mask and helper functions genirq: Add struct ipi_mask to irq_data genirq: Add struct ipi_mapping and its helper functions genirq: Add a new generic IPI reservation code to irq core genirq: Add a new irq_send_ipi() to irq_chip genirq: Implement irq_send_ipi() to be used by drivers irqchip/mips-gic: Add a IPI hierarchy domain MIPS: Add generic SMP IPI support MIPS: Make smp CMP, CPS and MT use the new generic IPI functions MIPS: Delete smp-gic.c Docs: IRQ: Add new IRQ-ipi.txt Documentation/IRQ-ipi.txt | 81 +++++++++++++ arch/mips/Kconfig | 6 - arch/mips/include/asm/smp-ops.h | 5 +- arch/mips/kernel/Makefile | 1 - arch/mips/kernel/smp-cmp.c | 4 +- arch/mips/kernel/smp-cps.c | 4 +- arch/mips/kernel/smp-gic.c | 64 ---------- arch/mips/kernel/smp-mt.c | 2 +- arch/mips/kernel/smp.c | 136 ++++++++++++++++++++++ drivers/irqchip/Kconfig | 2 + drivers/irqchip/irq-mips-gic.c | 244 +++++++++++++++++++++++++-------------- include/linux/irq.h | 101 ++++++++++++++++ include/linux/irqchip/mips-gic.h | 3 - include/linux/irqdomain.h | 20 ++++ kernel/irq/Kconfig | 4 + kernel/irq/irqdomain.c | 98 ++++++++++++++++ kernel/irq/manage.c | 151 ++++++++++++++++++++++++ 17 files changed, 757 insertions(+), 169 deletions(-) create mode 100644 Documentation/IRQ-ipi.txt delete mode 100644 arch/mips/kernel/smp-gic.c Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx -- 2.1.0