diff mbox series

cpuidle: ARM_QCOM_SPM_CPUIDLE should depend on HAVE_ARM_SMCCC

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

Commit Message

Randy Dunlap June 6, 2021, 7 p.m. UTC
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(+)

Comments

Stephan Gerhold June 7, 2021, 11:53 a.m. UTC | #1
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
Wysocki, Rafael J June 7, 2021, 5:30 p.m. UTC | #2
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
diff mbox series

Patch

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