* [PATCH 1/1] thermal: cpu cooling: allow module builds
@ 2012-11-14 15:23 Eduardo Valentin
2012-11-14 16:21 ` [linux-pm] " R, Durgadoss
2012-11-21 9:01 ` Zhang, Rui
0 siblings, 2 replies; 3+ messages in thread
From: Eduardo Valentin @ 2012-11-14 15:23 UTC (permalink / raw)
To: amit.kachhap; +Cc: rui.zhang, linux-acpi, linux-pm, eballetbo, Eduardo Valentin
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>
---
drivers/thermal/Kconfig | 2 +-
include/linux/cpu_cooling.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index e1cb6bd..3b03c8b 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -20,7 +20,7 @@ config THERMAL_HWMON
default y
config CPU_THERMAL
- bool "generic cpu cooling support"
+ tristate "generic cpu cooling support"
depends on THERMAL && CPU_FREQ
select CPU_FREQ_TABLE
help
diff --git a/include/linux/cpu_cooling.h b/include/linux/cpu_cooling.h
index b30cc79c..40b4ef5 100644
--- a/include/linux/cpu_cooling.h
+++ b/include/linux/cpu_cooling.h
@@ -29,7 +29,7 @@
#define CPUFREQ_COOLING_START 0
#define CPUFREQ_COOLING_STOP 1
-#ifdef CONFIG_CPU_THERMAL
+#if defined(CONFIG_CPU_THERMAL) || defined(CONFIG_CPU_THERMAL_MODULE)
/**
* cpufreq_cooling_register - function to create cpufreq cooling device.
* @clip_cpus: cpumask of cpus where the frequency constraints will happen
--
1.7.7.1.488.ge8e1c
^ permalink raw reply related [flat|nested] 3+ messages in thread
* RE: [linux-pm] [PATCH 1/1] thermal: cpu cooling: allow module builds
2012-11-14 15:23 [PATCH 1/1] thermal: cpu cooling: allow module builds Eduardo Valentin
@ 2012-11-14 16:21 ` R, Durgadoss
2012-11-21 9:01 ` Zhang, Rui
1 sibling, 0 replies; 3+ messages in thread
From: R, Durgadoss @ 2012-11-14 16:21 UTC (permalink / raw)
To: Eduardo Valentin, amit.kachhap
Cc: eballetbo, linux-acpi, linux-pm, Zhang, Rui,
Linux PM list (linux-pm@vger.kernel.org)
> -----Original Message-----
> From: linux-pm-bounces@lists.linux-foundation.org [mailto:linux-pm-
> bounces@lists.linux-foundation.org] On Behalf Of Eduardo Valentin
> Sent: Wednesday, November 14, 2012 8:54 PM
> To: amit.kachhap@linaro.org
> Cc: eballetbo@gmail.com; linux-acpi@vger.kernel.org; linux-pm@lists.linux-
> foundation.org
> Subject: [linux-pm] [PATCH 1/1] 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
Nice catch Eduardo :-)
Reviewed-by: Durgadoss R <durgadoss.r@intel.com>
Also, Ccing Rui to this e-mail and adding linux-pm.
Thanks,
Durga
>
> 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>
> ---
> drivers/thermal/Kconfig | 2 +-
> include/linux/cpu_cooling.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> index e1cb6bd..3b03c8b 100644
> --- a/drivers/thermal/Kconfig
> +++ b/drivers/thermal/Kconfig
> @@ -20,7 +20,7 @@ config THERMAL_HWMON
> default y
>
> config CPU_THERMAL
> - bool "generic cpu cooling support"
> + tristate "generic cpu cooling support"
> depends on THERMAL && CPU_FREQ
> select CPU_FREQ_TABLE
> help
> diff --git a/include/linux/cpu_cooling.h b/include/linux/cpu_cooling.h
> index b30cc79c..40b4ef5 100644
> --- a/include/linux/cpu_cooling.h
> +++ b/include/linux/cpu_cooling.h
> @@ -29,7 +29,7 @@
> #define CPUFREQ_COOLING_START 0
> #define CPUFREQ_COOLING_STOP 1
>
> -#ifdef CONFIG_CPU_THERMAL
> +#if defined(CONFIG_CPU_THERMAL) ||
> defined(CONFIG_CPU_THERMAL_MODULE)
> /**
> * cpufreq_cooling_register - function to create cpufreq cooling device.
> * @clip_cpus: cpumask of cpus where the frequency constraints will happen
> --
> 1.7.7.1.488.ge8e1c
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH 1/1] thermal: cpu cooling: allow module builds
2012-11-14 15:23 [PATCH 1/1] thermal: cpu cooling: allow module builds Eduardo Valentin
2012-11-14 16:21 ` [linux-pm] " R, Durgadoss
@ 2012-11-21 9:01 ` Zhang, Rui
1 sibling, 0 replies; 3+ messages in thread
From: Zhang, Rui @ 2012-11-21 9:01 UTC (permalink / raw)
To: Eduardo Valentin, amit.kachhap; +Cc: linux-acpi, linux-pm, eballetbo
Applied.
Thanks,
rui
> -----Original Message-----
> From: Eduardo Valentin [mailto:eduardo.valentin@ti.com]
> Sent: Wednesday, November 14, 2012 11:24 PM
> To: amit.kachhap@linaro.org
> Cc: Zhang, Rui; linux-acpi@vger.kernel.org; linux-pm@lists.linux-
> foundation.org; eballetbo@gmail.com; Eduardo Valentin
> Subject: [PATCH 1/1] thermal: cpu cooling: allow module builds
> Importance: High
>
> 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>
> ---
> drivers/thermal/Kconfig | 2 +-
> include/linux/cpu_cooling.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig index
> e1cb6bd..3b03c8b 100644
> --- a/drivers/thermal/Kconfig
> +++ b/drivers/thermal/Kconfig
> @@ -20,7 +20,7 @@ config THERMAL_HWMON
> default y
>
> config CPU_THERMAL
> - bool "generic cpu cooling support"
> + tristate "generic cpu cooling support"
> depends on THERMAL && CPU_FREQ
> select CPU_FREQ_TABLE
> help
> diff --git a/include/linux/cpu_cooling.h b/include/linux/cpu_cooling.h
> index b30cc79c..40b4ef5 100644
> --- a/include/linux/cpu_cooling.h
> +++ b/include/linux/cpu_cooling.h
> @@ -29,7 +29,7 @@
> #define CPUFREQ_COOLING_START 0
> #define CPUFREQ_COOLING_STOP 1
>
> -#ifdef CONFIG_CPU_THERMAL
> +#if defined(CONFIG_CPU_THERMAL) || defined(CONFIG_CPU_THERMAL_MODULE)
> /**
> * cpufreq_cooling_register - function to create cpufreq cooling
> device.
> * @clip_cpus: cpumask of cpus where the frequency constraints will
> happen
> --
> 1.7.7.1.488.ge8e1c
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-11-21 9:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-14 15:23 [PATCH 1/1] thermal: cpu cooling: allow module builds Eduardo Valentin
2012-11-14 16:21 ` [linux-pm] " R, Durgadoss
2012-11-21 9:01 ` Zhang, Rui
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.