[0/2] ACPI: Tiny power button driver
mbox series

Message ID cover.1581463668.git.josh@joshtriplett.org
Headers show
Series
  • ACPI: Tiny power button driver
Related show

Message

Josh Triplett Feb. 11, 2020, 11:36 p.m. UTC
Virtual machines often use an ACPI power button event to tell the
machine to shut down gracefully.

Provide an extremely lightweight "tiny power button" driver to handle
this event by signaling init directly, rather than running a separate
daemon (such as acpid or systemd-logind) that adds to startup time and
VM image complexity.

I originally proposed a change to the ACPI power button driver to
introduce an optional path to signal init, but Rafael expressed a
preference to have this as a separate, mutually exclusive driver
instead. The result did come out much simpler, conceptually, with the
added benefit of being able to disable CONFIG_INPUT entirely for a
kernel that exclusively targets cloud/VM systems.

The first patch in the series just moves HID definitions to
acpi/button.h in preparation for sharing them with the tiny-power-button
driver. The second patch provides the driver itself.

Josh Triplett (2):
  acpi: button: move HIDs to acpi/button.h
  acpi: Add new tiny-power-button driver to directly signal init

 drivers/acpi/Kconfig             | 24 +++++++++++++++++
 drivers/acpi/Makefile            |  1 +
 drivers/acpi/button.c            |  3 ---
 drivers/acpi/tiny-power-button.c | 46 ++++++++++++++++++++++++++++++++
 include/acpi/button.h            |  4 +++
 5 files changed, 75 insertions(+), 3 deletions(-)
 create mode 100644 drivers/acpi/tiny-power-button.c

Comments

Rafael J. Wysocki Feb. 13, 2020, 10:43 p.m. UTC | #1
On Wed, Feb 12, 2020 at 12:36 AM Josh Triplett <josh@joshtriplett.org> wrote:
>
> Virtual machines often use an ACPI power button event to tell the
> machine to shut down gracefully.
>
> Provide an extremely lightweight "tiny power button" driver to handle
> this event by signaling init directly, rather than running a separate
> daemon (such as acpid or systemd-logind) that adds to startup time and
> VM image complexity.
>
> I originally proposed a change to the ACPI power button driver to
> introduce an optional path to signal init, but Rafael expressed a
> preference to have this as a separate, mutually exclusive driver
> instead. The result did come out much simpler, conceptually, with the
> added benefit of being able to disable CONFIG_INPUT entirely for a
> kernel that exclusively targets cloud/VM systems.
>
> The first patch in the series just moves HID definitions to
> acpi/button.h in preparation for sharing them with the tiny-power-button
> driver. The second patch provides the driver itself.
>
> Josh Triplett (2):
>   acpi: button: move HIDs to acpi/button.h
>   acpi: Add new tiny-power-button driver to directly signal init

Applied as 5.7 material, thanks!