Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
[firefly-linux-kernel-4.4.55.git] / drivers / cpufreq / cpufreq.c
index 2b99bc3050407f2cab10d82bffbffc19d9ea42cd..7b728143440dab3b24032b95095c6fb5494d5434 100644 (file)
@@ -29,6 +29,9 @@
 #include <linux/suspend.h>
 #include <linux/syscore_ops.h>
 #include <linux/tick.h>
+#ifdef CONFIG_SMP
+#include <linux/sched.h>
+#endif
 #include <trace/events/power.h>
 
 static LIST_HEAD(cpufreq_policy_list);
@@ -473,6 +476,9 @@ static void cpufreq_notify_post_transition(struct cpufreq_policy *policy,
 void cpufreq_freq_transition_begin(struct cpufreq_policy *policy,
                struct cpufreq_freqs *freqs)
 {
+#ifdef CONFIG_SMP
+       int cpu;
+#endif
 
        /*
         * Catch double invocations of _begin() which lead to self-deadlock.
@@ -501,6 +507,10 @@ wait:
        spin_unlock(&policy->transition_lock);
 
        scale_freq_capacity(policy, freqs);
+#ifdef CONFIG_SMP
+       for_each_cpu(cpu, policy->cpus)
+               trace_cpu_capacity(capacity_curr_of(cpu), cpu);
+#endif
 
        cpufreq_notify_transition(policy, freqs, CPUFREQ_PRECHANGE);
 }