Re: [PATCH] cpuidle: tegra: add ARCH_SUSPEND_POSSIBLE dependency

Dmitry Osipenko
2021-10-15T06:49:31Z

14.10.2021 17:41, Arnd Bergmann пишет:
> On Thu, Oct 14, 2021 at 12:25 AM Dmitry Osipenko <digetx@gmail.com> wrote:
>>
>> 13.10.2021 19:01, Arnd Bergmann пишет:
>>> From: Arnd Bergmann <arnd@arndb.de>
>>>
>>> Some StrongARM processors don't support suspend, which leads
>>> to a build failure with the tegra 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'
>>>
>>> Add an explicit dependency to make randconfig builds avoid
>>> this combination.
>>>
>>> Fixes: faae6c9f2e68 ("cpuidle: tegra: Enable compile testing")
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>> ---
>>> drivers/cpuidle/Kconfig.arm | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
>>> index 2cc3c208a180..af97992eaa82 100644
>>> --- a/drivers/cpuidle/Kconfig.arm
>>> +++ b/drivers/cpuidle/Kconfig.arm
>>> @@ -100,6 +100,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
>>>
>>
>> Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
>
> Thanks!
>
> I realized now that we should drop the '&& MMU' after my fix, for both
> the tegra and qualcomm drivers, reverting the change from 498ba2a8a275
> ("cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration") that got failed
> to fix this problem. I'll resend it as a series of three patches with your R-b
> on this patch.
>
> On a related note, I now see that the "||COMPILE_TEST" bit for the
> arm-specific cpuidle drivers is not all that useful because we can curently
> not hit that on non-ARM machines at all. I'll try changing that as well, but
> this is probably nontrivial.

Ack