28.11.2021 04:15, Michał Mirosław пишет: > On Fri, Nov 26, 2021 at 09:00:54PM +0300, Dmitry Osipenko wrote: >> Kernel now supports chained power-off handlers. Use do_kernel_power_off() >> that invokes chained power-off handlers. It also invokes legacy >> pm_power_off() for now, which will be removed once all drivers will >> be converted to the new power-off API. >> >> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> >> --- >> arch/x86/kernel/reboot.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c >> index 0a40df66a40d..cd7d9416d81a 100644 >> --- a/arch/x86/kernel/reboot.c >> +++ b/arch/x86/kernel/reboot.c >> @@ -747,10 +747,10 @@ static void native_machine_halt(void) >> >> static void native_machine_power_off(void) >> { >> - if (pm_power_off) { >> + if (kernel_can_power_off()) { >> if (!reboot_force) >> machine_shutdown(); >> - pm_power_off(); >> + do_kernel_power_off(); >> } > > Judging from an old commit from 2006 [1], this can be rewritten as: > > if (!reboot_force && kernel_can_power_off()) > machine_shutdown(); > do_kernel_power_off(); > > And maybe later reworked so it doesn't need kernel_can_power_off(). > > [1] http://lkml.iu.edu/hypermail//linux/kernel/0511.3/0681.html It could be rewritten like you're suggesting, but I'd prefer to keep the old variant, for clarity.