cpufreq: don't call cpufreq_update_policy() on CPU addition
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 14 Feb 2014 11:00:41 +0000 (16:30 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 24 Feb 2014 12:37:43 +0000 (13:37 +0100)
cpufreq_update_policy() is called from two places currently. From a
workqueue handled queued from cpufreq_bp_resume() for boot CPU and
from cpufreq_cpu_callback() whenever a CPU is added.

The first one makes sure that boot CPU is running on the frequency
present in policy->cpu. But we don't really need a call from
cpufreq_cpu_callback(), because we always call cpufreq_driver->init()
(which will set policy->cur correctly) whenever first CPU of any
policy is added back. And so every policy structure is guaranteed to
have the right frequency in policy->cur.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq.c

index 37f30550522a90595b945f786b154ff1dfb5eed6..c755b5fe317c87cb2a34c95ee532fdeacf59b1e0 100644 (file)
@@ -2175,7 +2175,6 @@ static int cpufreq_cpu_callback(struct notifier_block *nfb,
                switch (action & ~CPU_TASKS_FROZEN) {
                case CPU_ONLINE:
                        __cpufreq_add_dev(dev, NULL, frozen);
-                       cpufreq_update_policy(cpu);
                        break;
 
                case CPU_DOWN_PREPARE: