On 6/7/2021 1:53 PM, Stephan Gerhold wrote:
Hi!
On Sun, Jun 06, 2021 at 12:00:48PM -0700, Randy Dunlap wrote:
QCOM_SCM depends on HAVE_ARM_SMCCC, so ARM_QCOM_SPM_CPUIDLE should
also depend on HAVE_ARM_SMCCC since 'select' does not follow any
dependency chains.
This fixes a kconfig warning and subsequent build errors:
WARNING: unmet direct dependencies detected for QCOM_SCM
Depends on [n]: (ARM [=y] || ARM64) && HAVE_ARM_SMCCC [=n]
Selected by [y]:
- ARM_QCOM_SPM_CPUIDLE [=y] && CPU_IDLE [=y] && (ARM [=y] || ARM64) && (ARCH_QCOM [=n] || COMPILE_TEST [=y]) && !ARM64 && MMU [=y]
arm-linux-gnueabi-ld: drivers/firmware/qcom_scm-smc.o: in function `__scm_smc_do_quirk':
qcom_scm-smc.c:(.text+0x5c): undefined reference to `__arm_smccc_smc'
arm-linux-gnueabi-ld: drivers/firmware/qcom_scm-legacy.o: in function `scm_legacy_call':
qcom_scm-legacy.c:(.text+0x140): undefined reference to `__arm_smccc_smc'
arm-linux-gnueabi-ld: drivers/firmware/qcom_scm-legacy.o: in function `scm_legacy_call_atomic':
qcom_scm-legacy.c:(.text+0x364): undefined reference to `__arm_smccc_smc'
Fixes: a871be6b8eee ("cpuidle: Convert Qualcomm SPM driver to a generic CPUidle driver")
Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Stephan Gerhold <stephan@xxxxxxxxxxx>
Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Andy Gross <agross@xxxxxxxxxx>
Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx
Cc: He Ying <heying24@xxxxxxxxxx>
There was a similar patch from Arnd a while ago (which fixes another
warning for ARM_CPU_SUSPEND?):
https://lore.kernel.org/linux-pm/20210421135723.3601743-1-arnd@xxxxxxxxxx/
I'm not sure who is supposed to pick it up. :)
ARM cpuidle drivers are maintained by Daniel Lezcano.
Also, please CC power management material to linux-pm@xxxxxxxxxxxxxxx.
---
drivers/cpuidle/Kconfig.arm | 1 +
1 file changed, 1 insertion(+)
--- linux-next-20210604.orig/drivers/cpuidle/Kconfig.arm
+++ linux-next-20210604/drivers/cpuidle/Kconfig.arm
@@ -108,6 +108,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 HAVE_ARM_SMCCC
select ARM_CPU_SUSPEND
select CPU_IDLE_MULTIPLE_DRIVERS
select DT_IDLE_STATES