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

Andrew Davis afd at ti.com
Wed Aug 13 14:50:45 PDT 2025


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 at ti.com>
---
 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




More information about the linux-arm-kernel mailing list