aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/cpufreq.c')
-rw-r--r--drivers/cpufreq/cpufreq.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 29c5b0cbad96..9bf97a366029 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -632,11 +632,21 @@ show_one(cpuinfo_transition_latency, cpuinfo.transition_latency);
632show_one(scaling_min_freq, min); 632show_one(scaling_min_freq, min);
633show_one(scaling_max_freq, max); 633show_one(scaling_max_freq, max);
634 634
635__weak unsigned int arch_freq_get_on_cpu(int cpu)
636{
637 return 0;
638}
639
635static ssize_t show_scaling_cur_freq(struct cpufreq_policy *policy, char *buf) 640static ssize_t show_scaling_cur_freq(struct cpufreq_policy *policy, char *buf)
636{ 641{
637 ssize_t ret; 642 ssize_t ret;
643 unsigned int freq;
638 644
639 if (cpufreq_driver && cpufreq_driver->setpolicy && cpufreq_driver->get) 645 freq = arch_freq_get_on_cpu(policy->cpu);
646 if (freq)
647 ret = sprintf(buf, "%u\n", freq);
648 else if (cpufreq_driver && cpufreq_driver->setpolicy &&
649 cpufreq_driver->get)
640 ret = sprintf(buf, "%u\n", cpufreq_driver->get(policy->cpu)); 650 ret = sprintf(buf, "%u\n", cpufreq_driver->get(policy->cpu));
641 else 651 else
642 ret = sprintf(buf, "%u\n", policy->cur); 652 ret = sprintf(buf, "%u\n", policy->cur);