On Wed, Feb 6, 2013 at 10:32 PM, <dirk.brandewie@xxxxxxxxx> wrote: > From: Dirk Brandewie <dirk.brandewie@xxxxxxxxx> > > Scaling drivers that implement the cpufreq_driver.setpolicy() versus > the cpufreq_driver.target() interface do not set policy->cur. > > Normally policy->cur is set during the call to cpufreq_driver.target() > when the frequnecy request is made by the governor. > > If the scaling driver implements cpufreq_driver.setpolicy() and > cpufreq_driver.get() interfaces use cpufreq_driver.get() to retrieve > the current frequency. > > Signed-off-by: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx> > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> To fix sparse warning updated this patch as: commit f6060fa13ace2da4e691233706a788f91ad453da Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Feb 7 19:12:16 2013 +0530 fixup! cpufreq: Retrieve current frequency from scaling drivers with internal governors --- drivers/cpufreq/cpufreq.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 447b313..e140b81 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -1173,12 +1173,12 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, */ unsigned int cpufreq_quick_get(unsigned int cpu) { + struct cpufreq_driver *driver = rcu_dereference(cpufreq_driver); struct cpufreq_policy *policy; unsigned int ret_freq = 0; - if (cpufreq_driver && cpufreq_driver->setpolicy && - cpufreq_driver->get) - return cpufreq_driver->get(cpu); + if (driver && driver->setpolicy && driver->get) + return driver->get(cpu); policy = cpufreq_cpu_get(cpu); if (policy) { -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html