Re: [PATCH v4 18/25] x86: Use do_kernel_power_off()

From: Dmitry Osipenko
Date: Sun Nov 28 2021 - 16:09:43 EST


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.