diff options
Diffstat (limited to 'drivers/cpufreq/pmac64-cpufreq.c')
-rw-r--r-- | drivers/cpufreq/pmac64-cpufreq.c | 17 |
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 | ||
315 | static int g5_cpufreq_target(struct cpufreq_policy *policy, | 315 | static 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 | }; |