mbox series

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

Message ID 20190527112720.2266-1-ard.biesheuvel@linaro.org (mailing list archive)
Headers show
Series synquacer: implement ACPI gpio/interrupt support | expand

Message

Ard Biesheuvel May 27, 2019, 11:27 a.m. UTC
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(-)

Comments

Marc Zyngier May 28, 2019, 1 p.m. UTC | #1
Hi Ard,

On 27/05/2019 12:27, Ard Biesheuvel wrote:
> 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.

I'm quite happy with the way this is looking now. Once v4 is out, and in
the absence of any further objection, I'll queue it for 5.3.

Thanks,

	M.