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