[CPUFREQ] ARM: ux500: send cpufreq notification for all cpus
authorVincent Guittot <vincent.guittot@linaro.org>
Thu, 25 Aug 2011 06:31:20 +0000 (08:31 +0200)
committerDave Jones <davej@redhat.com>
Wed, 26 Oct 2011 21:19:46 +0000 (17:19 -0400)
The same clock is used for all cpus so we must notify the frequency change
for each one in order to update the configuration of all twd clockevents.

change since V1:
* use policy->cpus instead of cpu_online_mask

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Dave Jones <davej@redhat.com>
drivers/cpufreq/db8500-cpufreq.c

index d90456a809f9cb8cf92d7daf11e3efbf25f18917..e0acaceca57dad3e0599828ffd880306213a63cc 100644 (file)
@@ -72,13 +72,13 @@ static int db8500_cpufreq_target(struct cpufreq_policy *policy,
 
        freqs.old = policy->cur;
        freqs.new = freq_table[idx].frequency;
-       freqs.cpu = policy->cpu;
 
        if (freqs.old == freqs.new)
                return 0;
 
        /* pre-change notification */
-       cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
+       for_each_cpu(freqs.cpu, policy->cpus)
+               cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
 
        /* request the PRCM unit for opp change */
        if (prcmu_set_arm_opp(idx2opp[idx])) {
@@ -87,7 +87,8 @@ static int db8500_cpufreq_target(struct cpufreq_policy *policy,
        }
 
        /* post change notification */
-       cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
+       for_each_cpu(freqs.cpu, policy->cpus)
+               cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
 
        return 0;
 }