mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
afa1f2ab43
The CPU cooling driver (cpu_cooling.c) allows the platform's cpufreq driver to register as a cooling device and cool down the platform by throttling the CPU frequency. In order to be able to auto-register a cpufreq driver as a cooling device from the cpufreq core, we need access to code inside cpu_cooling.c which, in turn, accesses code inside thermal core. CPU_FREQ is a bool while THERMAL is tristate. In some configurations (e.g. allmodconfig), CONFIG_THERMAL ends up as a module while CONFIG_CPU_FREQ is compiled in. This leads to following error: drivers/cpufreq/cpufreq.o: In function `cpufreq_offline': cpufreq.c:(.text+0x407c): undefined reference to `cpufreq_cooling_unregister' drivers/cpufreq/cpufreq.o: In function `cpufreq_online': cpufreq.c:(.text+0x70c0): undefined reference to `of_cpufreq_cooling_register' Given that platforms using CPU_THERMAL usually want it compiled-in so it is available early in boot, make CPU_THERMAL depend on THERMAL being compiled-in instead of allowing it to be a module. As a result of this change, get rid of the ugly (!CPU_THERMAL || THERMAL) dependency in all cpufreq drivers using CPU_THERMAL. Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
---|---|---|
.. | ||
broadcom | ||
intel | ||
qcom | ||
samsung | ||
st | ||
tegra | ||
ti-soc-thermal | ||
armada_thermal.c | ||
clock_cooling.c | ||
cpu_cooling.c | ||
da9062-thermal.c | ||
db8500_thermal.c | ||
devfreq_cooling.c | ||
dove_thermal.c | ||
fair_share.c | ||
gov_bang_bang.c | ||
hisi_thermal.c | ||
imx_thermal.c | ||
Kconfig | ||
kirkwood_thermal.c | ||
Makefile | ||
max77620_thermal.c | ||
mtk_thermal.c | ||
of-thermal.c | ||
power_allocator.c | ||
qoriq_thermal.c | ||
rcar_gen3_thermal.c | ||
rcar_thermal.c | ||
rockchip_thermal.c | ||
spear_thermal.c | ||
step_wise.c | ||
tango_thermal.c | ||
thermal_core.c | ||
thermal_core.h | ||
thermal_helpers.c | ||
thermal_hwmon.c | ||
thermal_hwmon.h | ||
thermal_sysfs.c | ||
thermal-generic-adc.c | ||
uniphier_thermal.c | ||
user_space.c | ||
zx2967_thermal.c |