]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ARM: Switch to new sys-off handler API
authorAndrew Davis <afd@ti.com>
Tue, 24 Jun 2025 18:42:45 +0000 (13:42 -0500)
committerArnd Bergmann <arnd@arndb.de>
Fri, 4 Jul 2025 07:31:17 +0000 (09:31 +0200)
Kernel now supports chained power-off handlers. Use
register_platform_power_off() that registers a platform level power-off
handler. Legacy pm_power_off() will be removed once all drivers and archs
are converted to the new sys-off API.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250624184245.343657-1-afd@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/mach-highbank/highbank.c
arch/arm/mach-pxa/spitz.c
arch/arm/mach-sa1100/generic.c
arch/arm/mach-vt8500/vt8500.c
arch/arm/xen/enlighten.c

index 5d4f977ac7d2a8f5d97d9fedc4b5cfbe4d09fab3..47335c7dadf8de43374556f6c85d3439763deae1 100644 (file)
@@ -143,7 +143,7 @@ static void __init highbank_init(void)
        sregs_base = of_iomap(np, 0);
        WARN_ON(!sregs_base);
 
-       pm_power_off = highbank_power_off;
+       register_platform_power_off(highbank_power_off);
        highbank_pm_init();
 
        bus_register_notifier(&platform_bus_type, &highbank_platform_nb);
index 33533e35720f88ec40e405b7c35bb7b70c15f8bc..c0b1f7e6be87411359b0020257ff12c73bbcbae3 100644 (file)
@@ -1096,7 +1096,7 @@ static void __init spitz_init(void)
                software_node_register(&spitz_scoop_2_gpiochip_node);
 
        init_gpio_reset(SPITZ_GPIO_ON_RESET, 1, 0);
-       pm_power_off = spitz_poweroff;
+       register_platform_power_off(spitz_poweroff);
 
        PMCR = 0x00;
 
index 0c586047d130fb96d6222843f2b49c93c3482a82..5383a26f51169c1e5eb236d65350b6fd5caa640f 100644 (file)
@@ -298,7 +298,7 @@ static struct platform_device *sa11x0_devices[] __initdata = {
 static int __init sa1100_init(void)
 {
        struct resource wdt_res = DEFINE_RES_MEM(0x90000000, 0x20);
-       pm_power_off = sa1100_power_off;
+       register_platform_power_off(sa1100_power_off);
 
        regulator_has_full_constraints();
 
index 0ab40087ae1ccb876032a1de9482cc4410c266d4..1d294255d708334a53fad8f3600da8951935497b 100644 (file)
@@ -141,7 +141,7 @@ static void __init vt8500_init(void)
                        pr_err("%s:ioremap(power_off) failed\n", __func__);
        }
        if (pmc_base)
-               pm_power_off = &vt8500_power_off;
+               register_platform_power_off(vt8500_power_off);
        else
                pr_err("%s: PMC Hibernation register could not be remapped, not enabling power off!\n", __func__);
 }
index a395b6c0aae2a92e40b88dc37faa2829df9f95f0..8655bc3d36347270355e01cc231caaa3ec0171ff 100644 (file)
@@ -541,7 +541,7 @@ static int __init xen_late_init(void)
        if (!xen_domain())
                return -ENODEV;
 
-       pm_power_off = xen_power_off;
+       register_platform_power_off(xen_power_off);
        register_restart_handler(&xen_restart_nb);
        if (!xen_initial_domain()) {
                struct timespec64 ts;