From: "hongbo.zhang" hongbo.zhang@linaro.com
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@linaro.com --- 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); + list_for_each_entry(cpufreq_dev, &cooling_cpufreq_list, node) cpufreq_dev_count++;