Subject: [PATCH 1/2] thermal: TI: remove TI_THERMAL dependency on CPU_THERMAL

Cover cpufreq_get_current_driver() call in ti-thermal-common.c with
CPU_FREQ ifdefs and remove no longer needed CPU_THERMAL dependency
from TI_THERMAL config option (stubs for other cpufreq functions for
CPU_THERMAL=n case are already available).

Please note that this enables TI_THERMAL config option in the final
config derived from omap2plus_defconfig (which enables CPU_THERMAL
config option but without CPU_FREQ one so TI_THERMAL config option
was not enabled previously in the final config).

Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
Signed-off-by: Kyungmin Park <[email protected]>
---
drivers/thermal/ti-soc-thermal/Kconfig | 1 -
drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/thermal/ti-soc-thermal/Kconfig b/drivers/thermal/ti-soc-thermal/Kconfig
index bd4c7be..bf5d6e4 100644
--- a/drivers/thermal/ti-soc-thermal/Kconfig
+++ b/drivers/thermal/ti-soc-thermal/Kconfig
@@ -13,7 +13,6 @@ config TI_SOC_THERMAL
config TI_THERMAL
bool "Texas Instruments SoCs thermal framework support"
depends on TI_SOC_THERMAL
- depends on CPU_THERMAL
help
If you say yes here you want to get support for generic thermal
framework for the Texas Instruments on die bandgap temperature sensor.
diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
index 4f8b9af..94d91af 100644
--- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
+++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
@@ -357,10 +357,12 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
if (!data)
return -EINVAL;

+#ifdef CONFIG_CPU_FREQ
if (!cpufreq_get_current_driver()) {
dev_dbg(bgp->dev, "no cpufreq driver yet\n");
return -EPROBE_DEFER;
}
+#endif

/* Register cooling device */
data->cool_dev = cpufreq_cooling_register(cpu_present_mask);
--
1.8.2.3


2013-10-04 16:38:49

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH 1/2] thermal: TI: remove TI_THERMAL dependency on CPU_THERMAL

On 04-10-2013 08:39, Bartlomiej Zolnierkiewicz wrote:
> Cover cpufreq_get_current_driver() call in ti-thermal-common.c with
> CPU_FREQ ifdefs and remove no longer needed CPU_THERMAL dependency
> from TI_THERMAL config option (stubs for other cpufreq functions for
> CPU_THERMAL=n case are already available).
>
> Please note that this enables TI_THERMAL config option in the final
> config derived from omap2plus_defconfig (which enables CPU_THERMAL
> config option but without CPU_FREQ one so TI_THERMAL config option
> was not enabled previously in the final config).
>
> Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
> Signed-off-by: Kyungmin Park <[email protected]>
> ---
> drivers/thermal/ti-soc-thermal/Kconfig | 1 -
> drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 2 ++
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/thermal/ti-soc-thermal/Kconfig b/drivers/thermal/ti-soc-thermal/Kconfig
> index bd4c7be..bf5d6e4 100644
> --- a/drivers/thermal/ti-soc-thermal/Kconfig
> +++ b/drivers/thermal/ti-soc-thermal/Kconfig
> @@ -13,7 +13,6 @@ config TI_SOC_THERMAL
> config TI_THERMAL
> bool "Texas Instruments SoCs thermal framework support"
> depends on TI_SOC_THERMAL
> - depends on CPU_THERMAL

Until the code that uses cpu thermal is still present in the driver, I
would prefer to have this dependency, for runtime proper behavior. The
driver design is still to take the responsibility to load the cpufreq
cooling device. Up to now they are still dependent.

> help
> If you say yes here you want to get support for generic thermal
> framework for the Texas Instruments on die bandgap temperature sensor.
> diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> index 4f8b9af..94d91af 100644
> --- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> +++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> @@ -357,10 +357,12 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
> if (!data)
> return -EINVAL;
>
> +#ifdef CONFIG_CPU_FREQ
> if (!cpufreq_get_current_driver()) {
> dev_dbg(bgp->dev, "no cpufreq driver yet\n");
> return -EPROBE_DEFER;
> }
> +#endif

I would prefer not to have this ifdef here.

>
> /* Register cooling device */
> data->cool_dev = cpufreq_cooling_register(cpu_present_mask);
>


--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature