2023-02-06 19:33:30

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] [v2] cpuidle: add ARCH_SUSPEND_POSSIBLE dependencies

From: Arnd Bergmann <[email protected]>

Some ARMv4 processors don't support suspend, which leads
to a build failure with the tegra and qualcomm cpuidle driver:

WARNING: unmet direct dependencies detected for ARM_CPU_SUSPEND
Depends on [n]: ARCH_SUSPEND_POSSIBLE [=n]
Selected by [y]:
- ARM_TEGRA_CPUIDLE [=y] && CPU_IDLE [=y] && (ARM [=y] || ARM64) && (ARCH_TEGRA [=n] || COMPILE_TEST [=y]) && !ARM64 && MMU [=y]

arch/arm/kernel/sleep.o: in function `__cpu_suspend':
(.text+0x68): undefined reference to `cpu_sa110_suspend_size'
(.text+0x68): undefined reference to `cpu_fa526_suspend_size'

Add an explicit dependency to make randconfig builds avoid
this combination.

Fixes: faae6c9f2e68 ("cpuidle: tegra: Enable compile testing")
Fixes: a871be6b8eee ("cpuidle: Convert Qualcomm SPM driver to a generic CPUidle driver")
Link: https://lore.kernel.org/all/[email protected]/
Cc: Randy Dunlap <[email protected]>
Cc: [email protected]
Reviewed-by: Dmitry Osipenko <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
---
I found this in my backlog of patches that never made it upstream,
testing shows this is still needed. Please apply.
---
drivers/cpuidle/Kconfig.arm | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
index 747aa537389b..f0714a32921e 100644
--- a/drivers/cpuidle/Kconfig.arm
+++ b/drivers/cpuidle/Kconfig.arm
@@ -102,6 +102,7 @@ config ARM_MVEBU_V7_CPUIDLE
config ARM_TEGRA_CPUIDLE
bool "CPU Idle Driver for NVIDIA Tegra SoCs"
depends on (ARCH_TEGRA || COMPILE_TEST) && !ARM64 && MMU
+ depends on ARCH_SUSPEND_POSSIBLE
select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
select ARM_CPU_SUSPEND
help
@@ -110,6 +111,7 @@ config ARM_TEGRA_CPUIDLE
config ARM_QCOM_SPM_CPUIDLE
bool "CPU Idle Driver for Qualcomm Subsystem Power Manager (SPM)"
depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64 && MMU
+ depends on ARCH_SUSPEND_POSSIBLE
select ARM_CPU_SUSPEND
select CPU_IDLE_MULTIPLE_DRIVERS
select DT_IDLE_STATES
--
2.39.0



2023-02-07 10:14:59

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH] [v2] cpuidle: add ARCH_SUSPEND_POSSIBLE dependencies

On Mon, Feb 06, 2023 at 08:33:06PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Some ARMv4 processors don't support suspend, which leads
> to a build failure with the tegra and qualcomm cpuidle driver:
>
> WARNING: unmet direct dependencies detected for ARM_CPU_SUSPEND
> Depends on [n]: ARCH_SUSPEND_POSSIBLE [=n]
> Selected by [y]:
> - ARM_TEGRA_CPUIDLE [=y] && CPU_IDLE [=y] && (ARM [=y] || ARM64) && (ARCH_TEGRA [=n] || COMPILE_TEST [=y]) && !ARM64 && MMU [=y]
>
> arch/arm/kernel/sleep.o: in function `__cpu_suspend':
> (.text+0x68): undefined reference to `cpu_sa110_suspend_size'
> (.text+0x68): undefined reference to `cpu_fa526_suspend_size'
>
> Add an explicit dependency to make randconfig builds avoid
> this combination.
>
> Fixes: faae6c9f2e68 ("cpuidle: tegra: Enable compile testing")
> Fixes: a871be6b8eee ("cpuidle: Convert Qualcomm SPM driver to a generic CPUidle driver")
> Link: https://lore.kernel.org/all/[email protected]/
> Cc: Randy Dunlap <[email protected]>
> Cc: [email protected]
> Reviewed-by: Dmitry Osipenko <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> I found this in my backlog of patches that never made it upstream,
> testing shows this is still needed. Please apply.
> ---
> drivers/cpuidle/Kconfig.arm | 2 ++
> 1 file changed, 2 insertions(+)

Acked-by: Thierry Reding <[email protected]>


Attachments:
(No filename) (1.39 kB)
signature.asc (833.00 B)
Download all attachments

2023-02-09 19:52:20

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] [v2] cpuidle: add ARCH_SUSPEND_POSSIBLE dependencies

On Tue, Feb 7, 2023 at 11:14 AM Thierry Reding <[email protected]> wrote:
>
> On Mon, Feb 06, 2023 at 08:33:06PM +0100, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > Some ARMv4 processors don't support suspend, which leads
> > to a build failure with the tegra and qualcomm cpuidle driver:
> >
> > WARNING: unmet direct dependencies detected for ARM_CPU_SUSPEND
> > Depends on [n]: ARCH_SUSPEND_POSSIBLE [=n]
> > Selected by [y]:
> > - ARM_TEGRA_CPUIDLE [=y] && CPU_IDLE [=y] && (ARM [=y] || ARM64) && (ARCH_TEGRA [=n] || COMPILE_TEST [=y]) && !ARM64 && MMU [=y]
> >
> > arch/arm/kernel/sleep.o: in function `__cpu_suspend':
> > (.text+0x68): undefined reference to `cpu_sa110_suspend_size'
> > (.text+0x68): undefined reference to `cpu_fa526_suspend_size'
> >
> > Add an explicit dependency to make randconfig builds avoid
> > this combination.
> >
> > Fixes: faae6c9f2e68 ("cpuidle: tegra: Enable compile testing")
> > Fixes: a871be6b8eee ("cpuidle: Convert Qualcomm SPM driver to a generic CPUidle driver")
> > Link: https://lore.kernel.org/all/[email protected]/
> > Cc: Randy Dunlap <[email protected]>
> > Cc: [email protected]
> > Reviewed-by: Dmitry Osipenko <[email protected]>
> > Signed-off-by: Arnd Bergmann <[email protected]>
> > ---
> > I found this in my backlog of patches that never made it upstream,
> > testing shows this is still needed. Please apply.
> > ---
> > drivers/cpuidle/Kconfig.arm | 2 ++
> > 1 file changed, 2 insertions(+)
>
> Acked-by: Thierry Reding <[email protected]>

Applied as 6.3 material, thanks!