cpufreq: exynos: Check old & new frequency early
authorJonghwan Choi <jhbird.choi@samsung.com>
Sun, 23 Dec 2012 23:57:39 +0000 (15:57 -0800)
committerKukjin Kim <kgene.kim@samsung.com>
Sun, 23 Dec 2012 23:57:39 +0000 (15:57 -0800)
If old & new freq have the same frequency, no need to call
cpufreq notifier & regulator function.

Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
drivers/cpufreq/exynos-cpufreq.c

index 0e415e5..0d40eb7 100644 (file)
@@ -87,6 +87,9 @@ static int exynos_target(struct cpufreq_policy *policy,
        freqs.new = freq_table[index].frequency;
        freqs.cpu = policy->cpu;
 
+       if (freqs.new == freqs.old)
+               goto out;
+
        /*
         * ARM clock source will be changed APLL to MPLL temporary
         * To support this level, need to control regulator for
@@ -113,8 +116,8 @@ static int exynos_target(struct cpufreq_policy *policy,
        if (safe_arm_volt)
                regulator_set_voltage(arm_regulator, safe_arm_volt,
                                      safe_arm_volt);
-       if (freqs.new != freqs.old)
-               exynos_info->set_freq(old_index, index);
+
+       exynos_info->set_freq(old_index, index);
 
        for_each_cpu(freqs.cpu, policy->cpus)
                cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);