online_policy_cpus = policy->cpus;
#endif
- cmd.val = get_cur_val(online_policy_cpus);
- freqs.old = extract_freq(cmd.val, data);
- freqs.new = data->freq_table[next_state].frequency;
next_perf_state = data->freq_table[next_state].index;
- if (freqs.new == freqs.old) {
+ if (perf->state == next_perf_state) {
if (unlikely(data->resume)) {
dprintk("Called after resume, resetting to P%d\n",
next_perf_state);
else
cpu_set(policy->cpu, cmd.mask);
+ freqs.old = data->freq_table[perf->state].frequency;
+ freqs.new = data->freq_table[next_perf_state].frequency;
for_each_cpu_mask(i, cmd.mask) {
freqs.cpu = i;
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu);
break;
case ACPI_ADR_SPACE_FIXED_HARDWARE:
+ acpi_cpufreq_driver.get = get_cur_freq_on_cpu;
get_cur_freq_on_cpu(cpu);
break;
default:
static struct cpufreq_driver acpi_cpufreq_driver = {
.verify = acpi_cpufreq_verify,
.target = acpi_cpufreq_target,
- .get = get_cur_freq_on_cpu,
.init = acpi_cpufreq_cpu_init,
.exit = acpi_cpufreq_cpu_exit,
.resume = acpi_cpufreq_resume,