]> Pileus Git - ~andy/linux/blobdiff - drivers/cpufreq/pasemi-cpufreq.c
Merge tag 'mfd-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd...
[~andy/linux] / drivers / cpufreq / pasemi-cpufreq.c
index 17424ddc7f67db8ad61fb7756df7ce4c2af5d1b9..0426008380d863d0d428526450efe9533c402a52 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/cpufreq.h>
 #include <linux/timer.h>
 #include <linux/module.h>
+#include <linux/of_address.h>
 
 #include <asm/hw_irq.h>
 #include <asm/io.h>
@@ -51,8 +52,6 @@
 static void __iomem *sdcpwr_mapbase;
 static void __iomem *sdcasr_mapbase;
 
-static DEFINE_MUTEX(pas_switch_mutex);
-
 /* Current astate, is used when waking up from power savings on
  * one core, in case the other core has switched states during
  * the idle time.
@@ -242,15 +241,8 @@ static int pas_cpufreq_cpu_exit(struct cpufreq_policy *policy)
 static int pas_cpufreq_target(struct cpufreq_policy *policy,
                              unsigned int pas_astate_new)
 {
-       struct cpufreq_freqs freqs;
        int i;
 
-       freqs.old = policy->cur;
-       freqs.new = pas_freqs[pas_astate_new].frequency;
-
-       mutex_lock(&pas_switch_mutex);
-       cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
-
        pr_debug("setting frequency for cpu %d to %d kHz, 1/%d of max frequency\n",
                 policy->cpu,
                 pas_freqs[pas_astate_new].frequency,
@@ -261,10 +253,7 @@ static int pas_cpufreq_target(struct cpufreq_policy *policy,
        for_each_online_cpu(i)
                set_astate(i, pas_astate_new);
 
-       cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
-       mutex_unlock(&pas_switch_mutex);
-
-       ppc_proc_freq = freqs.new * 1000ul;
+       ppc_proc_freq = pas_freqs[pas_astate_new].frequency * 1000ul;
        return 0;
 }