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.