浏览代码

cpufreq-dt: Supply power coefficient when registering cooling devices

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>
Punit Agrawal 9 年之前
父节点
当前提交
f8fa8ae06b
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      drivers/cpufreq/cpufreq-dt.c

+ 7 - 2
drivers/cpufreq/cpufreq-dt.c

@@ -407,8 +407,13 @@ static void cpufreq_ready(struct cpufreq_policy *policy)
 	 * thermal DT code takes care of matching them.
 	 * thermal DT code takes care of matching them.
 	 */
 	 */
 	if (of_find_property(np, "#cooling-cells", NULL)) {
 	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)) {
 		if (IS_ERR(priv->cdev)) {
 			dev_err(priv->cpu_dev,
 			dev_err(priv->cpu_dev,
 				"running cpufreq without cooling device: %ld\n",
 				"running cpufreq without cooling device: %ld\n",