[PATCH 0/5] Making the generic ACPI GSI layer irqdomain aware
Graeme Gregory
graeme at xora.org.uk
Tue Jul 21 05:35:43 PDT 2015
On Tue, Jul 21, 2015 at 11:07:55AM +0100, Marc Zyngier wrote:
> The irqdomain code is not entierely really ACPI friendly, as it has
> some built-in knowledge of the device-tree. Nothing too harmful, but
> enough to scare the ARM ACPI developpers which end up with their own
> version of the square wheel.
>
> This small patch series adapt the irqdomain code to remove the hurdles
> that prevent the full blown irqdomain subsystem to be used on ACPI,
> creates an interface between the GSI layer and the irqdomain, and as
> an example, convert the ARM GIC ACPI support to use irqdomains as
> originally intended.
>
> Overall, this gives us a way to use irqdomains on both DT and ACPI
> enabled platforms, having very little changes made to the actual
> drivers (other than the probing infrastructure). Because we keep the
> flow of information between the various layers identical between ACPI
> and DT, we immediately benefit from the existing infrastructure.
>
> I'd really like to hear what people think of that approach, as it
> looks to me a lot simpler than the other approaches currently put on
> the list. The "convert the GSI information to be DT friendly" is
> admitedly not very pretty, but I see it as a stepping stone towards
> unifying the two structures.
>
> This has been test-booted on Juno, and is based on my irq/ncpi-msi-2
> branch.
>
I have tested this series on Seattle and it looks excellent to me.
Graeme
> Marc Zyngier (5):
> genirq: irqdomain: Use an accessor for the of_node field
> genirq: irqdomain: Remove irqdomain dependency on struct device_node
> genirq: irqdomain: Add irq_create_acpi_mappings
> acpi: gsi: Use acpi_gsi_descriptor to allocate interrupts
> irqchip: GIC: Switch ACPI support to stacked domains
>
> arch/mips/cavium-octeon/octeon-irq.c | 4 +-
> arch/powerpc/platforms/cell/axon_msi.c | 2 +-
> arch/powerpc/platforms/cell/spider-pic.c | 9 ++-
> arch/powerpc/platforms/powernv/opal-irqchip.c | 2 +-
> arch/powerpc/sysdev/ehv_pic.c | 3 +-
> arch/powerpc/sysdev/fsl_msi.c | 2 +-
> arch/powerpc/sysdev/i8259.c | 3 +-
> arch/powerpc/sysdev/ipic.c | 3 +-
> arch/powerpc/sysdev/mpic.c | 3 +-
> arch/powerpc/sysdev/mpic_msi.c | 2 +-
> arch/powerpc/sysdev/qe_lib/qe_ic.c | 3 +-
> drivers/acpi/gsi.c | 54 ++++++++++-----
> drivers/gpio/gpio-sodaville.c | 2 +-
> drivers/irqchip/exynos-combiner.c | 2 +-
> drivers/irqchip/irq-atmel-aic-common.c | 2 +-
> drivers/irqchip/irq-crossbar.c | 4 +-
> drivers/irqchip/irq-gic-v2m.c | 2 +-
> drivers/irqchip/irq-gic-v3-its.c | 2 +-
> drivers/irqchip/irq-gic-v3.c | 2 +-
> drivers/irqchip/irq-gic.c | 17 ++---
> drivers/irqchip/irq-hip04.c | 2 +-
> drivers/irqchip/irq-mtk-sysirq.c | 2 +-
> drivers/irqchip/irq-s3c24xx.c | 4 +-
> drivers/irqchip/irq-tegra.c | 4 +-
> drivers/irqchip/irq-vf610-mscm-ir.c | 5 +-
> drivers/spmi/spmi-pmic-arb.c | 2 +-
> include/linux/acpi.h | 9 +++
> include/linux/irqchip/arm-gic.h | 2 +-
> include/linux/irqdomain.h | 67 +++++++++++--------
> kernel/irq/irqdomain.c | 95 +++++++++++++++++++++------
> 30 files changed, 206 insertions(+), 109 deletions(-)
>
> --
> 2.1.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list