Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7adb635b authored by Viresh Kumar's avatar Viresh Kumar Committed by Eduardo Valentin
Browse files

thermal: cpu_cooling: initialize 'cpufreq_val' on registration



There is no point checking for validity of 'cpufreq_val' from
cpufreq_thermal_notifier() every time the routine is called. Its guaranteed to
be 0 on the first call but will be valid otherwise.

Lets update it once while the device registers.

Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent 730abe06
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -316,11 +316,6 @@ static int cpufreq_thermal_notifier(struct notifier_block *nb,
					&cpufreq_dev->allowed_cpus))
			continue;

		if (!cpufreq_dev->cpufreq_val)
			cpufreq_dev->cpufreq_val = get_cpu_frequency(
					cpumask_any(&cpufreq_dev->allowed_cpus),
					cpufreq_dev->cpufreq_state);

		max_freq = cpufreq_dev->cpufreq_val;

		if (policy->max != max_freq)
@@ -444,6 +439,13 @@ __cpufreq_cooling_register(struct device_node *np,
	if (!cpufreq_dev)
		return ERR_PTR(-ENOMEM);

	cpufreq_dev->cpufreq_val = get_cpu_frequency(cpumask_any(clip_cpus), 0);
	if (!cpufreq_dev->cpufreq_val) {
		pr_err("%s: Failed to get frequency", __func__);
		cool_dev = ERR_PTR(-EINVAL);
		goto free_cdev;
	}

	cpumask_copy(&cpufreq_dev->allowed_cpus, clip_cpus);

	ret = get_idr(&cpufreq_idr, &cpufreq_dev->id);