2024-03-31 07:03:05

by Stafford Horne

[permalink] [raw]
Subject: [PATCH] openrisc: Use do_kernel_power_off()

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 <[email protected]>
---
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



2024-04-14 17:52:15

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] openrisc: Use do_kernel_power_off()

Hi,

On Sun, Mar 31, 2024 at 08:02:28AM +0100, Stafford Horne wrote:
> 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 <[email protected]>
> ---

Reviewed-by: Sebastian Reichel <[email protected]>

-- Sebastian

> 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
>


Attachments:
(No filename) (1.84 kB)
signature.asc (849.00 B)
Download all attachments

2024-04-15 14:34:33

by Stafford Horne

[permalink] [raw]
Subject: Re: [PATCH] openrisc: Use do_kernel_power_off()

On Sun, Apr 14, 2024 at 07:52:03PM +0200, Sebastian Reichel wrote:
> Hi,
>
> On Sun, Mar 31, 2024 at 08:02:28AM +0100, Stafford Horne wrote:
> > 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 <[email protected]>
> > ---
>
> Reviewed-by: Sebastian Reichel <[email protected]>

Hello,

Thank you for the review.

-Stafford