Messages in this thread Patch in this message | | | Date | Tue, 05 Feb 2013 18:31:57 -0800 | From | Dirk Brandewie <> | Subject | Re: [PATCH 2/7] cpufreq: Retrieve current frequency from scaling drivers with internal governors |
| |
On 02/05/2013 06:25 PM, Viresh Kumar wrote: > On Wed, Feb 6, 2013 at 7:45 AM, Dirk Brandewie <dirk.brandewie@gmail.com> wrote: >> How about this? >> >> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c >> index 2817c3c..9c0eac4 100644 >> --- a/drivers/cpufreq/cpufreq.c >> +++ b/drivers/cpufreq/cpufreq.c >> @@ -1182,7 +1182,12 @@ unsigned int cpufreq_quick_get(unsigned int cpu) >> >> unsigned int ret_freq = 0; >> >> if (policy) { >> - ret_freq = policy->cur; >> >> + if (cpufreq_driver && cpufreq_driver->setpolicy && >> + cpufreq_driver->get) { >> + ret_freq = cpufreq_driver->get(cpu); >> + } else { >> + ret_freq = policy->cur; >> + } >> cpufreq_cpu_put(policy);
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 2817c3c..7516b7d 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -1178,9 +1178,14 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, */ unsigned int cpufreq_quick_get(unsigned int cpu) { - struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); + struct cpufreq_policy *policy; unsigned int ret_freq = 0;
+ if (cpufreq_driver && cpufreq_driver->setpolicy && + cpufreq_driver->get) + return cpufreq_driver->get(cpu); + + policy = cpufreq_cpu_get(cpu); if (policy) { ret_freq = policy->cur; cpufreq_cpu_put(policy);
| |