cpufreq: Implement light weight ->target_index() routine
[deliverable/linux.git] / drivers / cpufreq / ppc-corenet-cpufreq.c
index a0f562ca292dd6124226329a1202ba00435c5a6a..79d8e9c46b6deb688aec9f9c35f905e2d7303d27 100644 (file)
@@ -251,27 +251,20 @@ static int __exit corenet_cpufreq_cpu_exit(struct cpufreq_policy *policy)
 }
 
 static int corenet_cpufreq_target(struct cpufreq_policy *policy,
-               unsigned int target_freq, unsigned int relation)
+               unsigned int index)
 {
        struct cpufreq_freqs freqs;
-       unsigned int new;
        struct clk *parent;
        int ret;
        struct cpu_data *data = per_cpu(cpu_data, policy->cpu);
 
-       cpufreq_frequency_table_target(policy, data->table,
-                       target_freq, relation, &new);
-
-       if (policy->cur == data->table[new].frequency)
-               return 0;
-
        freqs.old = policy->cur;
-       freqs.new = data->table[new].frequency;
+       freqs.new = data->table[index].frequency;
 
        mutex_lock(&cpufreq_lock);
        cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
 
-       parent = of_clk_get(data->parent, data->table[new].driver_data);
+       parent = of_clk_get(data->parent, data->table[index].driver_data);
        ret = clk_set_parent(data->clk, parent);
        if (ret)
                freqs.new = freqs.old;
@@ -288,7 +281,7 @@ static struct cpufreq_driver ppc_corenet_cpufreq_driver = {
        .init           = corenet_cpufreq_cpu_init,
        .exit           = __exit_p(corenet_cpufreq_cpu_exit),
        .verify         = cpufreq_generic_frequency_table_verify,
-       .target         = corenet_cpufreq_target,
+       .target_index   = corenet_cpufreq_target,
        .get            = corenet_cpufreq_get_speed,
        .attr           = cpufreq_generic_attr,
 };
This page took 0.027788 seconds and 5 git commands to generate.