public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] ARM: setup: Use register_sys_off_handler(SYS_OFF_MODE_RESTART)
@ 2025-08-13 21:50 Andrew Davis
  0 siblings, 0 replies; only message in thread
From: Andrew Davis @ 2025-08-13 21:50 UTC (permalink / raw)
  To: Russell King, Arnd Bergmann; +Cc: linux-arm-kernel, linux-kernel, Andrew Davis

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



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-08-13 22:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-13 21:50 [PATCH] ARM: setup: Use register_sys_off_handler(SYS_OFF_MODE_RESTART) Andrew Davis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox