Commit 4ba115b1e1ab6b717e08e0f4e766a1d16853d217

Authored by Eduardo Valentin
Committed by Zhang Rui
1 parent 3778ff5c70

thermal: cpu cooling: allow module builds

As thermal drivers can be built as modules and also
the thermal framework itself, building cpu cooling
only as built-in can cause linking errors. For instance:
* Generic Thermal sysfs driver
*
Generic Thermal sysfs driver (THERMAL) [M/n/y/?] m
  generic cpu cooling support (CPU_THERMAL) [N/y/?] (NEW) y

with the following drive:
CONFIG_OMAP_BANDGAP=m

generates:
ERROR: "cpufreq_cooling_unregister" [drivers/staging/omap-thermal/omap-thermal.ko] undefined!
ERROR: "cpufreq_cooling_register" [drivers/staging/omap-thermal/omap-thermal.ko] undefined!

This patch changes cpu cooling driver to allow it
to be built as module.

Reported-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Reviewed-by: Durgadoss R <durgadoss.r@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>

Showing 2 changed files with 2 additions and 2 deletions Side-by-side Diff

drivers/thermal/Kconfig
... ... @@ -67,7 +67,7 @@
67 67 Enable this to let the user space manage the platform thermals.
68 68  
69 69 config CPU_THERMAL
70   - bool "generic cpu cooling support"
  70 + tristate "generic cpu cooling support"
71 71 depends on CPU_FREQ
72 72 select CPU_FREQ_TABLE
73 73 help
include/linux/cpu_cooling.h
... ... @@ -29,7 +29,7 @@
29 29 #define CPUFREQ_COOLING_START 0
30 30 #define CPUFREQ_COOLING_STOP 1
31 31  
32   -#ifdef CONFIG_CPU_THERMAL
  32 +#if defined(CONFIG_CPU_THERMAL) || defined(CONFIG_CPU_THERMAL_MODULE)
33 33 /**
34 34 * cpufreq_cooling_register - function to create cpufreq cooling device.
35 35 * @clip_cpus: cpumask of cpus where the frequency constraints will happen