From: Punit Agrawal punit.agrawal@arm.com
Support registering cooling devices with dynamic power coefficient where provided by the device tree. This allows OF registered cooling devices driver to be used with the power_allocator thermal governor.
Signed-off-by: Punit Agrawal punit.agrawal@arm.com Acked-by: Viresh Kumar viresh.kumar@linaro.org Reviewed-by: Javi Merino javi.merino@arm.com Signed-off-by: Rafael J. Wysocki rafael.j.wysocki@intel.com (cherry picked from commit f8fa8ae06b8c2c25d81c99766f9226adc5c3e073) Signed-off-by: Alex Shi alex.shi@linaro.org --- drivers/cpufreq/cpufreq-dt.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c index 68232fe..fc61cab 100644 --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c @@ -406,8 +406,13 @@ static void cpufreq_ready(struct cpufreq_policy *policy) * thermal DT code takes care of matching them. */ if (of_find_property(np, "#cooling-cells", NULL)) { - priv->cdev = of_cpufreq_cooling_register(np, - policy->related_cpus); + u32 power_coefficient = 0; + + of_property_read_u32(np, "dynamic-power-coefficient", + &power_coefficient); + + priv->cdev = of_cpufreq_power_cooling_register(np, + policy->related_cpus, power_coefficient, NULL); if (IS_ERR(priv->cdev)) { dev_err(priv->cpu_dev, "running cpufreq without cooling device: %ld\n",