Commit eb608521f1e25a8c14295b6d9a3853c3cd8c6cf8
Committed by
Rafael J. Wysocki
1 parent
c88a1f8b96
Exists in
smarc-imx_3.14.28_1.0.0_ga
and in
1 other branch
cpufreq: Use cpufreq_policy_list for iterating over policies
To iterate over all policies we currently iterate over all CPUs and then get the policy for each of them. Let's use the newly created cpufreq_policy_list for this purpose. [rjw: Changelog] Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Showing 1 changed file with 5 additions and 5 deletions Side-by-side Diff
drivers/cpufreq/cpufreq.c
... | ... | @@ -985,8 +985,8 @@ |
985 | 985 | struct cpufreq_policy *policy; |
986 | 986 | unsigned long flags; |
987 | 987 | #ifdef CONFIG_HOTPLUG_CPU |
988 | + struct cpufreq_policy *tpolicy; | |
988 | 989 | struct cpufreq_governor *gov; |
989 | - int sibling; | |
990 | 990 | #endif |
991 | 991 | |
992 | 992 | if (cpu_is_offline(cpu)) |
993 | 993 | |
... | ... | @@ -1006,11 +1006,11 @@ |
1006 | 1006 | #ifdef CONFIG_HOTPLUG_CPU |
1007 | 1007 | /* Check if this cpu was hot-unplugged earlier and has siblings */ |
1008 | 1008 | read_lock_irqsave(&cpufreq_driver_lock, flags); |
1009 | - for_each_online_cpu(sibling) { | |
1010 | - struct cpufreq_policy *cp = per_cpu(cpufreq_cpu_data, sibling); | |
1011 | - if (cp && cpumask_test_cpu(cpu, cp->related_cpus)) { | |
1009 | + list_for_each_entry(tpolicy, &cpufreq_policy_list, policy_list) { | |
1010 | + if (cpumask_test_cpu(cpu, tpolicy->related_cpus)) { | |
1012 | 1011 | read_unlock_irqrestore(&cpufreq_driver_lock, flags); |
1013 | - return cpufreq_add_policy_cpu(cp, cpu, dev, frozen); | |
1012 | + return cpufreq_add_policy_cpu(tpolicy, cpu, dev, | |
1013 | + frozen); | |
1014 | 1014 | } |
1015 | 1015 | } |
1016 | 1016 | read_unlock_irqrestore(&cpufreq_driver_lock, flags); |