diff options
Diffstat (limited to 'drivers/cpufreq/cpufreq.c')
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 12 |
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); | |||
632 | show_one(scaling_min_freq, min); | 632 | show_one(scaling_min_freq, min); |
633 | show_one(scaling_max_freq, max); | 633 | show_one(scaling_max_freq, max); |
634 | 634 | ||
635 | __weak unsigned int arch_freq_get_on_cpu(int cpu) | ||
636 | { | ||
637 | return 0; | ||
638 | } | ||
639 | |||
635 | static ssize_t show_scaling_cur_freq(struct cpufreq_policy *policy, char *buf) | 640 | static 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); |