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> --- 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