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

Commit 348a2ec5 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

cpufreq: Reorder and simplify cpufreq_update_policy()



In cpufreq_update_policy(), instead of updating new_policy.cur
separately, which is kind of confusing, because cpufreq_set_policy()
doesn't take that value into account directly anyway, make the copy
of the existing policy after calling cpufreq_update_current_freq().

No intentional changes of behavior.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
parent a0dbb819
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -2354,23 +2354,18 @@ void cpufreq_update_policy(unsigned int cpu)
	if (policy_is_inactive(policy))
		goto unlock;

	pr_debug("updating policy for CPU %u\n", cpu);
	memcpy(&new_policy, policy, sizeof(*policy));
	new_policy.min = policy->user_policy.min;
	new_policy.max = policy->user_policy.max;

	/*
	 * BIOS might change freq behind our back
	 * -> ask driver for current freq and notify governors about a change
	 */
	if (cpufreq_driver->get && !cpufreq_driver->setpolicy) {
		if (cpufreq_suspended)
	if (cpufreq_driver->get && !cpufreq_driver->setpolicy &&
	    (cpufreq_suspended || WARN_ON(!cpufreq_update_current_freq(policy))))
		goto unlock;

		new_policy.cur = cpufreq_update_current_freq(policy);
		if (WARN_ON(!new_policy.cur))
			goto unlock;
	}
	pr_debug("updating policy for CPU %u\n", cpu);
	memcpy(&new_policy, policy, sizeof(*policy));
	new_policy.min = policy->user_policy.min;
	new_policy.max = policy->user_policy.max;

	cpufreq_set_policy(policy, &new_policy);