2020-03-23 08:20:52

by Ahmad Fatoum

[permalink] [raw]
Subject: [PATCH] ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y

512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
introduced an unintended linker error for i.MX6 configurations that have
ARM_CPU_SUSPEND=n which can happen if neither CONFIG_PM, CONFIG_CPU_IDLE,
nor ARM_PSCI_FW are selected.

Fix this by having v7_cpu_resume() compiled only when cpu_resume() it
calls is available as well.

The C declaration for the function remains unguarded to avoid future code
inadvertently using a stub and introducing a regression to the bug the
original commit fixed.

Cc: <[email protected]>
Fixes: 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
Reported-by: Clemens Gruber <[email protected]>
Signed-off-by: Ahmad Fatoum <[email protected]>
---
arch/arm/mach-imx/Makefile | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 03506ce46149..e7364e6c8c6b 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -91,8 +91,10 @@ AFLAGS_suspend-imx6.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o
obj-$(CONFIG_SOC_IMX53) += suspend-imx53.o
endif
+ifeq ($(CONFIG_ARM_CPU_SUSPEND),y)
AFLAGS_resume-imx6.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SOC_IMX6) += resume-imx6.o
+endif
obj-$(CONFIG_SOC_IMX6) += pm-imx6.o

obj-$(CONFIG_SOC_IMX1) += mach-imx1.o
--
2.25.1


2020-03-23 08:25:58

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y

Hello Shawn,

On 3/23/20 9:19 AM, Ahmad Fatoum wrote:
> Fixes: 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")

This commit is new in v5.6-rc5, so it would be great if the fix can land in
Linus' tree before v5.6.

Cheers
Ahmad

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2020-03-27 11:22:03

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y

Hello Shawn,

On 3/23/20 9:25 AM, Ahmad Fatoum wrote:
> On 3/23/20 9:19 AM, Ahmad Fatoum wrote:
>> Fixes: 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
>
> This commit is new in v5.6-rc5, so it would be great if the fix can land in
> Linus' tree before v5.6.

Gentle ping. I've received a few pings myself because it broke people's
stable release builds and I would like to avoid that for v5.6 as well..

Cheers
Ahmad

>
> Cheers
> Ahmad
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2020-04-13 13:16:58

by Roland Hieber

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y

On Mon, Mar 23, 2020 at 09:19:33AM +0100, Ahmad Fatoum wrote:
> 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
> introduced an unintended linker error for i.MX6 configurations that have
> ARM_CPU_SUSPEND=n which can happen if neither CONFIG_PM, CONFIG_CPU_IDLE,
> nor ARM_PSCI_FW are selected.
>
> Fix this by having v7_cpu_resume() compiled only when cpu_resume() it
> calls is available as well.
>
> The C declaration for the function remains unguarded to avoid future code
> inadvertently using a stub and introducing a regression to the bug the
> original commit fixed.
>
> Cc: <[email protected]>
> Fixes: 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
> Reported-by: Clemens Gruber <[email protected]>
> Signed-off-by: Ahmad Fatoum <[email protected]>

Tested-by: Roland Hieber <[email protected]>

What's the status here? master is still broken on most of my builds, and
there were no other comments at all :-(

- Roland

> ---
> arch/arm/mach-imx/Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index 03506ce46149..e7364e6c8c6b 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -91,8 +91,10 @@ AFLAGS_suspend-imx6.o :=-Wa,-march=armv7-a
> obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o
> obj-$(CONFIG_SOC_IMX53) += suspend-imx53.o
> endif
> +ifeq ($(CONFIG_ARM_CPU_SUSPEND),y)
> AFLAGS_resume-imx6.o :=-Wa,-march=armv7-a
> obj-$(CONFIG_SOC_IMX6) += resume-imx6.o
> +endif
> obj-$(CONFIG_SOC_IMX6) += pm-imx6.o
>
> obj-$(CONFIG_SOC_IMX1) += mach-imx1.o
> --
> 2.25.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
Roland Hieber, Pengutronix e.K. | [email protected] |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2020-04-21 03:22:50

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y

On Mon, Mar 23, 2020 at 09:19:33AM +0100, Ahmad Fatoum wrote:
> 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
> introduced an unintended linker error for i.MX6 configurations that have
> ARM_CPU_SUSPEND=n which can happen if neither CONFIG_PM, CONFIG_CPU_IDLE,
> nor ARM_PSCI_FW are selected.
>
> Fix this by having v7_cpu_resume() compiled only when cpu_resume() it
> calls is available as well.
>
> The C declaration for the function remains unguarded to avoid future code
> inadvertently using a stub and introducing a regression to the bug the
> original commit fixed.
>
> Cc: <[email protected]>
> Fixes: 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
> Reported-by: Clemens Gruber <[email protected]>
> Signed-off-by: Ahmad Fatoum <[email protected]>

Applied, thanks.