Re: [PATCH V2 2/6] Thermal: make sure cpufreq cooling register aftercpufreq driver

From: Amit Kachhap
Date: Mon Oct 29 2012 - 07:42:28 EST


On 24 October 2012 17:28, hongbo.zhang <hongbo.zhang@xxxxxxxxxx> wrote:
> From: "hongbo.zhang" <hongbo.zhang@xxxxxxxxxx>
>
> The cpufreq works as a cooling device, so the cooling layer should check if the
> cpufreq driver is initialized or not.
>
> Signed-off-by: hongbo.zhang <hongbo.zhang@xxxxxxxxxx>
> ---
> drivers/thermal/cpu_cooling.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> index b6b4c2a..7519a0b 100644
> --- a/drivers/thermal/cpu_cooling.c
> +++ b/drivers/thermal/cpu_cooling.c
> @@ -354,6 +354,10 @@ struct thermal_cooling_device *cpufreq_cooling_register(
> int ret = 0, i;
> struct cpufreq_policy policy;
>
> + /* make sure cpufreq driver has been initialized */
> + if (!cpufreq_frequency_get_table(cpumask_any(clip_cpus)))
> + return ERR_PTR(-EPROBE_DEFER);
> +
Hi Hongbo,

I am not against this change but this might cause unnecessary delay in
probe thread. I also thought about it but have not put this
restriction. Actually you can put a check in platform_bind for this
condition and defer the binding till the time actual throttling
starts. So basically only after throttling cpufreq_table is needed.
(See my implementation exynos_thermal.c).

Thanks,
Amit Daniel
> list_for_each_entry(cpufreq_dev, &cooling_cpufreq_list, node)
> cpufreq_dev_count++;
>
> --
> 1.7.11.3
>
>
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@xxxxxxxxxxxxxxxx
> http://lists.linaro.org/mailman/listinfo/linaro-dev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/