cpufreq: pass policy to cpufreq_out_of_sync
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 2 Jan 2015 07:04:28 +0000 (12:34 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 23 Jan 2015 21:49:34 +0000 (22:49 +0100)
There is no point finding out the 'policy' again within cpufreq_out_of_sync()
when all the callers already have it. Just make them pass policy instead.

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

index 1454ab3f0023ac6073c7f807d5c5029b4cfb64c9..0a9e764a6e2dfada9629f74832436ea91e11019c 100644 (file)
@@ -1509,30 +1509,23 @@ static void handle_update(struct work_struct *work)
 /**
  *     cpufreq_out_of_sync - If actual and saved CPU frequency differs, we're
  *     in deep trouble.
- *     @cpu: cpu number
- *     @old_freq: CPU frequency the kernel thinks the CPU runs at
+ *     @policy: policy managing CPUs
  *     @new_freq: CPU frequency the CPU actually runs at
  *
  *     We adjust to current frequency first, and need to clean up later.
  *     So either call to cpufreq_update_policy() or schedule handle_update()).
  */
-static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq,
+static void cpufreq_out_of_sync(struct cpufreq_policy *policy,
                                unsigned int new_freq)
 {
-       struct cpufreq_policy *policy;
        struct cpufreq_freqs freqs;
-       unsigned long flags;
 
        pr_debug("Warning: CPU frequency out of sync: cpufreq and timing core thinks of %u, is %u kHz\n",
-                old_freq, new_freq);
+                policy->cur, new_freq);
 
-       freqs.old = old_freq;
+       freqs.old = policy->cur;
        freqs.new = new_freq;
 
-       read_lock_irqsave(&cpufreq_driver_lock, flags);
-       policy = per_cpu(cpufreq_cpu_data, cpu);
-       read_unlock_irqrestore(&cpufreq_driver_lock, flags);
-
        cpufreq_freq_transition_begin(policy, &freqs);
        cpufreq_freq_transition_end(policy, &freqs, 0);
 }
@@ -1597,7 +1590,7 @@ static unsigned int __cpufreq_get(unsigned int cpu)
                /* verify no discrepancy between actual and
                                        saved value exists */
                if (unlikely(ret_freq != policy->cur)) {
-                       cpufreq_out_of_sync(cpu, policy->cur, ret_freq);
+                       cpufreq_out_of_sync(policy, ret_freq);
                        schedule_work(&policy->update);
                }
        }
@@ -2302,8 +2295,7 @@ int cpufreq_update_policy(unsigned int cpu)
                        policy->cur = new_policy.cur;
                } else {
                        if (policy->cur != new_policy.cur && has_target())
-                               cpufreq_out_of_sync(cpu, policy->cur,
-                                                               new_policy.cur);
+                               cpufreq_out_of_sync(policy, new_policy.cur);
                }
        }