cpufreq-dt: register cooling device from ->ready() callback
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 27 Nov 2014 00:37:52 +0000 (06:07 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 29 Nov 2014 22:38:38 +0000 (23:38 +0100)
commit9a004428d77f1571c883b993d77ec64767b1959a
tree891e5d8f6f2ead70f466c6e98524baf82c36f607
parent7c45cf31b3ab9be270a7bf6af2926631dc566436
cpufreq-dt: register cooling device from ->ready() callback

Currently we are calling of_cpufreq_cooling_register() from ->init() callback.
At this point of time cpufreq driver's policy isn't completely ready to be used
as few of its fields/structure/pointers aren't yet initialized.

Because of_cpufreq_cooling_register() tries to access policy with help of
cpufreq_cpu_get() and then tries to get freq-table as well, these calls fail.

To fix this, register the cooling device after the policy is ready to be used.
And the right callback for it is the newly added ->ready() one.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Eduardo Valentin <edubezval@gmail.com>
Tested-by: Eduardo Valentin <edubezval@gmail.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq-dt.c