rk30: cpufreq: notify frequency change once

This commit is contained in:
黄涛
2012-04-20 12:15:10 +08:00
parent fbd9fef7c2
commit 0f37d77739

View File

@@ -304,13 +304,13 @@ int cpufreq_scale_rate_for_dvfs(struct clk * clk,unsigned long rate,dvfs_set_rat
unsigned int i;
int ret=-EINVAL;
struct cpufreq_freqs freqs;
freqs.new=rate/1000;
freqs.old=rk30_getspeed(0);
get_online_cpus();
for_each_online_cpu(freqs.cpu)
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
freqs.cpu = 0;
freqs.old = rk30_getspeed(0);
freqs.new = rate/1000;
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
FREQ_PRINTK_DBG("cpufreq_scale_rate_for_dvfs(%lu)\n",rate);
ret = set_rate(clk,rate);
@@ -325,12 +325,10 @@ int cpufreq_scale_rate_for_dvfs(struct clk * clk,unsigned long rate,dvfs_set_rat
}
#endif
freqs.old=freqs.new;
freqs.new=rk30_getspeed(0);
/* notifiers */
for_each_online_cpu(freqs.cpu)
cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
put_online_cpus();
freqs.new = rk30_getspeed(0);
cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
return ret;
}