[PATCH v3 0/4] synquacer: implement ACPI gpio/interrupt support

Ard Biesheuvel
2019-05-27T11:27:28Z

Wire up the existing GPIO and interrupt controller drivers to the ACPI
subsystem so they can be used on ACPI systems for ACPI event (power
button, hardware error notification etc)

Changes since v2:
- use helper to create hierarchical IRQ domains under ACPI instead of exposing
the GSI domain's irqdomain pointer directly (#1)
- use has_acpi_companion() instead of ACPI_COMPANION() where possible (#4)
- add Mika's ack to #4

Changes since v1:
- Describe the EXIU controller as a separate device, which is a more accurate
depiction of reality, and untangles the code a bit as well. Note that this
requires the GPIO AML device to describe the EXIU interrupts explicitly.
- Add a patch to obtain the ACPI GSI irqdomain. The EXIU driver needs this
to obtain the default parent domain, since the GIC is not modeled as an
ACPI object in the namespace, and so the parent<->child link cannot be
expressed in AML.
- Drop the Kconfig symbol for the GPIO controller. Just include the ACPI part
when CONFIG_ACPI is defined.

Cc: Masahisa Kojima <masahisa.kojima@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Graeme Gregory <graeme.gregory@linaro.org>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Len Brown <lenb@kernel.org>

Ard Biesheuvel (4):
acpi/irq: implement helper to create hierachical domains
irqchip/exiu: preparatory refactor for ACPI support
irqchip/exiu: implement ACPI support
gpio: mb86s7x: enable ACPI support

drivers/acpi/irq.c | 20 +++
drivers/gpio/gpio-mb86s7x.c | 51 ++++++-
drivers/irqchip/irq-sni-exiu.c | 142 +++++++++++++++-----
include/linux/acpi.h | 7 +
4 files changed, 182 insertions(+), 38 deletions(-)

--
2.20.1