cpufreq: kryo: allow building as a loadable module
authorArnd Bergmann <arnd@arndb.de>
Tue, 5 Jun 2018 11:44:24 +0000 (13:44 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 6 Jun 2018 06:29:29 +0000 (08:29 +0200)
Building the kryo cpufreq driver while QCOM_SMEM is a loadable module
results in a link error:

drivers/cpufreq/qcom-cpufreq-kryo.o: In function `qcom_cpufreq_kryo_probe':
qcom-cpufreq-kryo.c:(.text+0xbc): undefined reference to `qcom_smem_get'

The problem is that Kconfig ignores interprets the dependency as met
when the dependent symbol is a 'bool' one. By making it 'tristate',
it will be forced to be a module here, which builds successfully.

Fixes: 46e2856b8e18 (cpufreq: Add Kryo CPU scaling driver)
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/Kconfig.arm

index c7ce928fbf1f55e108e150235afd18b1ee98c314..52f5f1a2040c38002885c1e804be3d8721bcac6f 100644 (file)
@@ -125,7 +125,7 @@ config ARM_OMAP2PLUS_CPUFREQ
        default ARCH_OMAP2PLUS
 
 config ARM_QCOM_CPUFREQ_KRYO
-       bool "Qualcomm Kryo based CPUFreq"
+       tristate "Qualcomm Kryo based CPUFreq"
        depends on ARM64
        depends on QCOM_QFPROM
        depends on QCOM_SMEM