diff options
Diffstat (limited to 'drivers/cpufreq/speedstep-centrino.c')
-rw-r--r-- | drivers/cpufreq/speedstep-centrino.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/drivers/cpufreq/speedstep-centrino.c b/drivers/cpufreq/speedstep-centrino.c index 3a953d519f46..3dbbcc3519af 100644 --- a/drivers/cpufreq/speedstep-centrino.c +++ b/drivers/cpufreq/speedstep-centrino.c | |||
@@ -457,7 +457,7 @@ static int centrino_target (struct cpufreq_policy *policy, | |||
457 | unsigned int msr, oldmsr = 0, h = 0, cpu = policy->cpu; | 457 | unsigned int msr, oldmsr = 0, h = 0, cpu = policy->cpu; |
458 | struct cpufreq_freqs freqs; | 458 | struct cpufreq_freqs freqs; |
459 | int retval = 0; | 459 | int retval = 0; |
460 | unsigned int j, k, first_cpu, tmp; | 460 | unsigned int j, first_cpu, tmp; |
461 | cpumask_var_t covered_cpus; | 461 | cpumask_var_t covered_cpus; |
462 | 462 | ||
463 | if (unlikely(!zalloc_cpumask_var(&covered_cpus, GFP_KERNEL))) | 463 | if (unlikely(!zalloc_cpumask_var(&covered_cpus, GFP_KERNEL))) |
@@ -522,13 +522,8 @@ static int centrino_target (struct cpufreq_policy *policy, | |||
522 | pr_debug("target=%dkHz old=%d new=%d msr=%04x\n", | 522 | pr_debug("target=%dkHz old=%d new=%d msr=%04x\n", |
523 | target_freq, freqs.old, freqs.new, msr); | 523 | target_freq, freqs.old, freqs.new, msr); |
524 | 524 | ||
525 | for_each_cpu(k, policy->cpus) { | 525 | cpufreq_notify_transition(policy, &freqs, |
526 | if (!cpu_online(k)) | ||
527 | continue; | ||
528 | freqs.cpu = k; | ||
529 | cpufreq_notify_transition(&freqs, | ||
530 | CPUFREQ_PRECHANGE); | 526 | CPUFREQ_PRECHANGE); |
531 | } | ||
532 | 527 | ||
533 | first_cpu = 0; | 528 | first_cpu = 0; |
534 | /* all but 16 LSB are reserved, treat them with care */ | 529 | /* all but 16 LSB are reserved, treat them with care */ |
@@ -544,12 +539,7 @@ static int centrino_target (struct cpufreq_policy *policy, | |||
544 | cpumask_set_cpu(j, covered_cpus); | 539 | cpumask_set_cpu(j, covered_cpus); |
545 | } | 540 | } |
546 | 541 | ||
547 | for_each_cpu(k, policy->cpus) { | 542 | cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); |
548 | if (!cpu_online(k)) | ||
549 | continue; | ||
550 | freqs.cpu = k; | ||
551 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
552 | } | ||
553 | 543 | ||
554 | if (unlikely(retval)) { | 544 | if (unlikely(retval)) { |
555 | /* | 545 | /* |
@@ -565,12 +555,8 @@ static int centrino_target (struct cpufreq_policy *policy, | |||
565 | tmp = freqs.new; | 555 | tmp = freqs.new; |
566 | freqs.new = freqs.old; | 556 | freqs.new = freqs.old; |
567 | freqs.old = tmp; | 557 | freqs.old = tmp; |
568 | for_each_cpu(j, policy->cpus) { | 558 | cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE); |
569 | if (!cpu_online(j)) | 559 | cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); |
570 | continue; | ||
571 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | ||
572 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
573 | } | ||
574 | } | 560 | } |
575 | retval = 0; | 561 | retval = 0; |
576 | 562 | ||