[PATCH v1 0/6] Introduce power off call chain API

From: Dmitry Osipenko
Date: Thu Oct 07 2021 - 02:04:17 EST


Introduce power off call chain API that is inspired by the restart API.
It allows to have multiple power off handlers invoked along the chain
until system is powered off. For the starter this series converts couple
NVIDIA Tegra drivers to the new API. Existing pm_power_off() method
stays around and may be removed once all users will adopt the new API.

There were couple attempts in the past to add power off API from
Guenter Roeck and Thierry Reding, but they were never completed. This
is a somewhat simplified version which doesn't try to convert whole kernel
to the new API at once, but solves immediate practical problem that we
have on Nexus 7 Android tablet where device needs to chain power off
methods.

Dmitry Osipenko (6):
notifier: Add blocking_notifier_call_chain_empty()
kernel: Add power off handler call chain API
kernel: Add devm_register_restart_handler()
mfd: max77620: Use power off call chain API
soc/tegra: pmc: Use devm_register_restart_handler()
soc/tegra: pmc: Add power off handler

drivers/mfd/max77620.c | 22 ++++--
drivers/soc/tegra/pmc.c | 62 ++++++++++++----
include/linux/mfd/max77620.h | 2 +
include/linux/notifier.h | 2 +
include/linux/reboot.h | 7 ++
kernel/notifier.c | 14 ++++
kernel/reboot.c | 138 ++++++++++++++++++++++++++++++++++-
7 files changed, 225 insertions(+), 22 deletions(-)

--
2.32.0