From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Wed, 31 Oct 2012 00:28:15 +0000 (+0100)
Subject: cpufreq: Avoid calling cpufreq driver's target() routine if target_freq == policy... 
X-Git-Tag: v3.8-rc1~182^2~12^2~11
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5a1c0228;p=users%2Fdwmw2%2Flinux.git

cpufreq: Avoid calling cpufreq driver's target() routine if target_freq == policy->cur

Avoid calling cpufreq driver's target() routine if new frequency is same as
policies current frequency.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 261ef654a3525..28dc134cec369 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1476,6 +1476,10 @@ int __cpufreq_driver_target(struct cpufreq_policy *policy,
 
 	pr_debug("target for CPU %u: %u kHz, relation %u\n", policy->cpu,
 		target_freq, relation);
+
+	if (target_freq == policy->cur)
+		return 0;
+
 	if (cpu_online(policy->cpu) && cpufreq_driver->target)
 		retval = cpufreq_driver->target(policy, target_freq, relation);