]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/cpufreq/maple-cpufreq.c
cpufreq: Implement light weight ->target_index() routine
[mirror_ubuntu-artful-kernel.git] / drivers / cpufreq / maple-cpufreq.c
index eb1e1766baede24438b948a6f9974d5f6e0877be..4e2da0874bfb5194adaa7769b077a7e9741637a4 100644 (file)
@@ -131,26 +131,18 @@ static int maple_scom_query_freq(void)
  */
 
 static int maple_cpufreq_target(struct cpufreq_policy *policy,
-       unsigned int target_freq, unsigned int relation)
+       unsigned int index)
 {
-       unsigned int newstate = 0;
        struct cpufreq_freqs freqs;
        int rc;
 
-       if (cpufreq_frequency_table_target(policy, maple_cpu_freqs,
-                       target_freq, relation, &newstate))
-               return -EINVAL;
-
-       if (maple_pmode_cur == newstate)
-               return 0;
-
        mutex_lock(&maple_switch_mutex);
 
        freqs.old = maple_cpu_freqs[maple_pmode_cur].frequency;
-       freqs.new = maple_cpu_freqs[newstate].frequency;
+       freqs.new = maple_cpu_freqs[index].frequency;
 
        cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
-       rc = maple_scom_switch_freq(newstate);
+       rc = maple_scom_switch_freq(index);
        cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
 
        mutex_unlock(&maple_switch_mutex);
@@ -173,7 +165,7 @@ static struct cpufreq_driver maple_cpufreq_driver = {
        .flags          = CPUFREQ_CONST_LOOPS,
        .init           = maple_cpufreq_cpu_init,
        .verify         = cpufreq_generic_frequency_table_verify,
-       .target         = maple_cpufreq_target,
+       .target_index   = maple_cpufreq_target,
        .get            = maple_cpufreq_get_speed,
        .attr           = cpufreq_generic_attr,
 };