Message ID | 20210606190048.689-1-rdunlap@infradead.org |
---|---|
State | New |
Headers | show |
Series | cpuidle: ARM_QCOM_SPM_CPUIDLE should depend on HAVE_ARM_SMCCC | expand |
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@infradead.org> > Cc: Stephan Gerhold <stephan@gerhold.net> > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > Cc: Andy Gross <agross@kernel.org> > Cc: Bjorn Andersson <bjorn.andersson@linaro.org> > Cc: linux-arm-msm@vger.kernel.org > Cc: He Ying <heying24@huawei.com> 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@kernel.org/ I'm not sure who is supposed to pick it up. :) Thanks! Stephan > --- > 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
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@infradead.org> >> Cc: Stephan Gerhold <stephan@gerhold.net> >> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> >> Cc: Andy Gross <agross@kernel.org> >> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> >> Cc: linux-arm-msm@vger.kernel.org >> Cc: He Ying <heying24@huawei.com> > 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@kernel.org/ > > 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@vger.kernel.org. > >> --- >> 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
--- 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
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@infradead.org> Cc: Stephan Gerhold <stephan@gerhold.net> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Andy Gross <agross@kernel.org> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: linux-arm-msm@vger.kernel.org Cc: He Ying <heying24@huawei.com> --- drivers/cpuidle/Kconfig.arm | 1 + 1 file changed, 1 insertion(+)