diff options
Diffstat (limited to 'drivers/cpufreq/freq_table.c')
-rw-r--r-- | drivers/cpufreq/freq_table.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/cpufreq/freq_table.c b/drivers/cpufreq/freq_table.c index 49cda256efb2..d7a79662e24c 100644 --- a/drivers/cpufreq/freq_table.c +++ b/drivers/cpufreq/freq_table.c | |||
@@ -63,9 +63,6 @@ int cpufreq_frequency_table_verify(struct cpufreq_policy *policy, | |||
63 | pr_debug("request for verification of policy (%u - %u kHz) for cpu %u\n", | 63 | pr_debug("request for verification of policy (%u - %u kHz) for cpu %u\n", |
64 | policy->min, policy->max, policy->cpu); | 64 | policy->min, policy->max, policy->cpu); |
65 | 65 | ||
66 | if (!cpu_online(policy->cpu)) | ||
67 | return -EINVAL; | ||
68 | |||
69 | cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, | 66 | cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, |
70 | policy->cpuinfo.max_freq); | 67 | policy->cpuinfo.max_freq); |
71 | 68 | ||
@@ -121,9 +118,6 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy, | |||
121 | break; | 118 | break; |
122 | } | 119 | } |
123 | 120 | ||
124 | if (!cpu_online(policy->cpu)) | ||
125 | return -EINVAL; | ||
126 | |||
127 | for (i = 0; (table[i].frequency != CPUFREQ_TABLE_END); i++) { | 121 | for (i = 0; (table[i].frequency != CPUFREQ_TABLE_END); i++) { |
128 | unsigned int freq = table[i].frequency; | 122 | unsigned int freq = table[i].frequency; |
129 | if (freq == CPUFREQ_ENTRY_INVALID) | 123 | if (freq == CPUFREQ_ENTRY_INVALID) |
@@ -227,6 +221,15 @@ void cpufreq_frequency_table_put_attr(unsigned int cpu) | |||
227 | } | 221 | } |
228 | EXPORT_SYMBOL_GPL(cpufreq_frequency_table_put_attr); | 222 | EXPORT_SYMBOL_GPL(cpufreq_frequency_table_put_attr); |
229 | 223 | ||
224 | void cpufreq_frequency_table_update_policy_cpu(struct cpufreq_policy *policy) | ||
225 | { | ||
226 | pr_debug("Updating show_table for new_cpu %u from last_cpu %u\n", | ||
227 | policy->cpu, policy->last_cpu); | ||
228 | per_cpu(cpufreq_show_table, policy->cpu) = per_cpu(cpufreq_show_table, | ||
229 | policy->last_cpu); | ||
230 | per_cpu(cpufreq_show_table, policy->last_cpu) = NULL; | ||
231 | } | ||
232 | |||
230 | struct cpufreq_frequency_table *cpufreq_frequency_get_table(unsigned int cpu) | 233 | struct cpufreq_frequency_table *cpufreq_frequency_get_table(unsigned int cpu) |
231 | { | 234 | { |
232 | return per_cpu(cpufreq_show_table, cpu); | 235 | return per_cpu(cpufreq_show_table, cpu); |