HomeFreeBSD

GPIO: Add ACPI _AEI support

Description

GPIO: Add ACPI _AEI support

Changes to acpi_gpiobus.c handle discovering and parsing the _AEI
objects and storing necessary data in device ivars. A new gpioaei.c
file implements the device, which simply requests an interrupt when
the pin is triggered and invokes the appropriate _Exx or _Lxx ACPI
method.

This makes the GPIO "power button" work on arm64 Graviton systems,
allowing EC2 "Stop"/"Reboot" instance calls to be handled cleanly.
(Prior to this change, those requests would time out after 4 minutes
and the instance would be forcibly killed.)

Reviwed by: imp, andrew, Ahmad Khalifa
MFC after: 3 days
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D47253
Co-authored-by: Andrew Turner <andrew@FreeBSD.org>

Details

Provenance
cpercivaAuthored on Tue, Oct 22, 6:53 PM
Differential Revision
D47253: GPIO: Add ACPI _AEI support
Parents
rG310743c4ccc5: LinuxKPI: 802.11: improvements to (*ampdu_action)() callers
Branches
Unknown
Tags
Unknown