Skip to contentSkip to conversation

Switch more ARM plats to sys-off handler API

PATCH Applied Andrew Davis 3 participants 10 messages Oct 11, 2024 – Oct 22, 2024

Subsystems (7)

v3 of 6 Applied Latest is v6 →

lore
Share & tools
lore
#0 lore raw

v3 cover Switch more ARM plats to sys-off handler API

Hello all,

Continuing the quest to remove the legacy pm_power_off() global function handler. Remove uses from arch/arm/ using the helper register_platform_power_off().

Thanks,
Andrew

Changes for v3:
- Rebase on v6.12-rc1

Changes for v2:
- Collect Reviewed/Acked-bys
- Rebase on v6.11-rc1

Andrew Davis (6):
ARM: highbank: Switch to new sys-off handler API
ARM: imx: Switch to new sys-off handler API
ARM: pxa: Switch to new sys-off handler API
ARM: sa1100: Switch to new sys-off handler API
ARM: vt8500: Switch to new sys-off handler API arm/xen: Switch to new sys-off handler API

 arch/arm/mach-highbank/highbank.c | 2 +-
 arch/arm/mach-imx/pm-imx6.c       | 6 ++----
 arch/arm/mach-pxa/spitz.c         | 2 +-
 arch/arm/mach-sa1100/generic.c    | 2 +-
 arch/arm/mach-vt8500/vt8500.c     | 2 +-
 arch/arm/xen/enlighten.c          | 2 +-
 6 files changed, 7 insertions(+), 9 deletions(-)
Signature · 1 line
2.39.2
#1 lore raw

PATCH v3 1/6 ARM: highbank: Switch to new sys-off handler API

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.

---
 arch/arm/mach-highbank/highbank.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-highbank/highbank.c +1 -1
index 5d4f977ac7d2a..47335c7dadf8d 100644
@@ -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);
Signature · 1 line
2.39.2
#2 lore raw

PATCH v3 2/6 ARM: imx: Switch to new sys-off handler API

In reply to Andrew Davis

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.

---
 arch/arm/mach-imx/pm-imx6.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
arch/arm/mach-imx/pm-imx6.c +2 -4
index b36f05b54cc76..a671ca498f887 100644
@@ -634,13 +634,11 @@ static void imx6_pm_stby_poweroff(void)
 
 static int imx6_pm_stby_poweroff_probe(void)
 {
-	if (pm_power_off) {
-		pr_warn("%s: pm_power_off already claimed  %p %ps!\n",
-			__func__, pm_power_off, pm_power_off);
+	if (register_platform_power_off(imx6_pm_stby_poweroff)) {
+		pr_warn("%s: platform power off already claimed!\n", __func__);
 		return -EBUSY;
 	}
 
-	pm_power_off = imx6_pm_stby_poweroff;
 	return 0;
 }
 
Signature · 1 line
2.39.2
Applied
#3 lore raw

Re: [PATCH v3 2/6] ARM: imx: Switch to new sys-off handler API

Quoted 6 lines · Andrew Davis

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.

Applied, thanks!

#4 lore raw

PATCH v3 3/6 ARM: pxa: Switch to new sys-off handler API

In reply to Andrew Davis

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.

---
 arch/arm/mach-pxa/spitz.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-pxa/spitz.c +1 -1
index 33533e35720f8..c0b1f7e6be874 100644
@@ -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;
 
Signature · 1 line
2.39.2
#5 lore raw

PATCH v3 4/6 ARM: sa1100: Switch to new sys-off handler API

In reply to Andrew Davis

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.

---
 arch/arm/mach-sa1100/generic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-sa1100/generic.c +1 -1
index 0c586047d130f..5383a26f51169 100644
@@ -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();
 
Signature · 1 line
2.39.2
#6 lore raw

PATCH v3 5/6 ARM: vt8500: Switch to new sys-off handler API

In reply to Andrew Davis

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.

---
 arch/arm/mach-vt8500/vt8500.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-vt8500/vt8500.c +1 -1
index 0ab40087ae1cc..1d294255d7083 100644
@@ -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__);
 }
Signature · 1 line
2.39.2
#7 lore raw

PATCH v3 6/6 arm/xen: Switch to new sys-off handler API

In reply to Andrew Davis

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.

---
 arch/arm/xen/enlighten.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/xen/enlighten.c +1 -1
index a395b6c0aae2a..8655bc3d36347 100644
@@ -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;
Signature · 1 line
2.39.2
#8 lore raw
In reply to Andrew Davis

Hello Andrew,

Quoted 5 lines

Hello all,

Continuing the quest to remove the legacy pm_power_off() global function handler. Remove uses from arch/arm/ using the helper register_platform_power_off().

I am in CC of this series, however, I am not the maintainer of any of these platforms, and I don't remember making any changes related to your series recently. Could you tell me what you expect from me?

Thanks,

Gregory

Quoted 29 lines

Thanks,
Andrew

Changes for v3:
- Rebase on v6.12-rc1

Changes for v2:
- Collect Reviewed/Acked-bys
- Rebase on v6.11-rc1

Andrew Davis (6):
ARM: highbank: Switch to new sys-off handler API
ARM: imx: Switch to new sys-off handler API
ARM: pxa: Switch to new sys-off handler API
ARM: sa1100: Switch to new sys-off handler API
ARM: vt8500: Switch to new sys-off handler API arm/xen: Switch to new sys-off handler API

 arch/arm/mach-highbank/highbank.c | 2 +-
 arch/arm/mach-imx/pm-imx6.c       | 6 ++----
 arch/arm/mach-pxa/spitz.c         | 2 +-
 arch/arm/mach-sa1100/generic.c    | 2 +-
 arch/arm/mach-vt8500/vt8500.c     | 2 +-
 arch/arm/xen/enlighten.c          | 2 +-
 6 files changed, 7 insertions(+), 9 deletions(-)
Signature · 1 line
2.39.2
#9 lore raw
Quoted 4 lines · Gregory CLEMENT

Hello Andrew,

Quoted 2 lines

Hello all,

Quoted 8 lines
Quoted 3 lines

Continuing the quest to remove the legacy pm_power_off() global function handler. Remove uses from arch/arm/ using the helper register_platform_power_off().

I am in CC of this series, however, I am not the maintainer of any of these platforms, and I don't remember making any changes related to your series recently. Could you tell me what you expect from me?

I had CC'd you for v1/v2 of this series as it had a patch for Orion5x, but since you have already taken that patch I should have removed you from CC, my bad. Nothing needed from you here.

Thanks,
Andrew

Quoted 33 lines

Thanks,

Gregory

Quoted 29 lines

Thanks,
Andrew

Changes for v3:
- Rebase on v6.12-rc1

Changes for v2:
- Collect Reviewed/Acked-bys
- Rebase on v6.11-rc1

Andrew Davis (6):
ARM: highbank: Switch to new sys-off handler API
ARM: imx: Switch to new sys-off handler API
ARM: pxa: Switch to new sys-off handler API
ARM: sa1100: Switch to new sys-off handler API
ARM: vt8500: Switch to new sys-off handler API arm/xen: Switch to new sys-off handler API

  arch/arm/mach-highbank/highbank.c | 2 +-
  arch/arm/mach-imx/pm-imx6.c       | 6 ++----
  arch/arm/mach-pxa/spitz.c         | 2 +-
  arch/arm/mach-sa1100/generic.c    | 2 +-
  arch/arm/mach-vt8500/vt8500.c     | 2 +-
  arch/arm/xen/enlighten.c          | 2 +-
  6 files changed, 7 insertions(+), 9 deletions(-)
Signature · 1 line
2.39.2