summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/pmac64-cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/pmac64-cpufreq.c')
-rw-r--r--drivers/cpufreq/pmac64-cpufreq.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/cpufreq/pmac64-cpufreq.c b/drivers/cpufreq/pmac64-cpufreq.c
index 5261b92d768b..234b598ce416 100644
--- a/drivers/cpufreq/pmac64-cpufreq.c
+++ b/drivers/cpufreq/pmac64-cpufreq.c
@@ -312,27 +312,18 @@ static int g5_pfunc_query_freq(void)
312 * Common interface to the cpufreq core 312 * Common interface to the cpufreq core
313 */ 313 */
314 314
315static int g5_cpufreq_target(struct cpufreq_policy *policy, 315static int g5_cpufreq_target(struct cpufreq_policy *policy, unsigned int index)
316 unsigned int target_freq, unsigned int relation)
317{ 316{
318 unsigned int newstate = 0;
319 struct cpufreq_freqs freqs; 317 struct cpufreq_freqs freqs;
320 int rc; 318 int rc;
321 319
322 if (cpufreq_frequency_table_target(policy, g5_cpu_freqs,
323 target_freq, relation, &newstate))
324 return -EINVAL;
325
326 if (g5_pmode_cur == newstate)
327 return 0;
328
329 mutex_lock(&g5_switch_mutex); 320 mutex_lock(&g5_switch_mutex);
330 321
331 freqs.old = g5_cpu_freqs[g5_pmode_cur].frequency; 322 freqs.old = g5_cpu_freqs[g5_pmode_cur].frequency;
332 freqs.new = g5_cpu_freqs[newstate].frequency; 323 freqs.new = g5_cpu_freqs[index].frequency;
333 324
334 cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE); 325 cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
335 rc = g5_switch_freq(newstate); 326 rc = g5_switch_freq(index);
336 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); 327 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
337 328
338 mutex_unlock(&g5_switch_mutex); 329 mutex_unlock(&g5_switch_mutex);
@@ -355,7 +346,7 @@ static struct cpufreq_driver g5_cpufreq_driver = {
355 .flags = CPUFREQ_CONST_LOOPS, 346 .flags = CPUFREQ_CONST_LOOPS,
356 .init = g5_cpufreq_cpu_init, 347 .init = g5_cpufreq_cpu_init,
357 .verify = cpufreq_generic_frequency_table_verify, 348 .verify = cpufreq_generic_frequency_table_verify,
358 .target = g5_cpufreq_target, 349 .target_index = g5_cpufreq_target,
359 .get = g5_cpufreq_get_speed, 350 .get = g5_cpufreq_get_speed,
360 .attr = cpufreq_generic_attr, 351 .attr = cpufreq_generic_attr,
361}; 352};