After commit 14c5678720bd ("power: reset: syscon-poweroff: Use
devm_register_sys_off_handler(POWER_OFF)") setting up of pm_power_off
was removed from the driver, this causes OpenRISC platforms using
syscon-poweroff to no longer shutdown.

The kernel now supports chained power-off handlers. Use
do_kernel_power_off() that invokes chained power-off handlers.  All
architectures have moved away from using pm_power_off except OpenRISC.

This patch migrates openrisc to use do_kernel_power_off() instead of the
legacy pm_power_off().

Fixes: 14c5678720bd ("power: reset: syscon-poweroff: Use 
devm_register_sys_off_handler(POWER_OFF)")
Signed-off-by: Stafford Horne <sho...@gmail.com>
---
 arch/openrisc/kernel/process.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
index 86e02929f3ac..3c27d1c72718 100644
--- a/arch/openrisc/kernel/process.c
+++ b/arch/openrisc/kernel/process.c
@@ -65,7 +65,7 @@ void machine_restart(char *cmd)
 }
 
 /*
- * This is used if pm_power_off has not been set by a power management
+ * This is used if a sys-off handler was not set by a power management
  * driver, in this case we can assume we are on a simulator.  On
  * OpenRISC simulators l.nop 1 will trigger the simulator exit.
  */
@@ -89,10 +89,8 @@ void machine_halt(void)
 void machine_power_off(void)
 {
        printk(KERN_INFO "*** MACHINE POWER OFF ***\n");
-       if (pm_power_off != NULL)
-               pm_power_off();
-       else
-               default_power_off();
+       do_kernel_power_off();
+       default_power_off();
 }
 
 /*
-- 
2.44.0


Reply via email to