[PATCH] ARM: setup: Use register_sys_off_handler(SYS_OFF_MODE_RESTART)

From: Andrew Davis
Date: Wed Aug 13 2025 - 17:51:13 EST


Function register_restart_handler() is deprecated. Using this new API
removes our need to keep and manage a struct notifier_block.

Signed-off-by: Andrew Davis <afd@xxxxxx>
---
arch/arm/kernel/setup.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 0bfd66c7ada05..8e21634109ef8 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -1081,18 +1081,12 @@ void __init hyp_mode_check(void)

static void (*__arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);

-static int arm_restart(struct notifier_block *nb, unsigned long action,
- void *data)
+static int arm_restart(struct sys_off_data *data)
{
- __arm_pm_restart(action, data);
+ __arm_pm_restart(data->mode, data->cmd);
return NOTIFY_DONE;
}

-static struct notifier_block arm_restart_nb = {
- .notifier_call = arm_restart,
- .priority = 128,
-};
-
void __init setup_arch(char **cmdline_p)
{
const struct machine_desc *mdesc = NULL;
@@ -1160,7 +1154,7 @@ void __init setup_arch(char **cmdline_p)

if (mdesc->restart) {
__arm_pm_restart = mdesc->restart;
- register_restart_handler(&arm_restart_nb);
+ register_sys_off_handler(SYS_OFF_MODE_RESTART, 128, arm_restart, NULL);
}

unflatten_device_tree();
--
2.39.2