cpufreq: Don't clear cpufreq_cpu_data and policy list for inactive policies
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 8 May 2015 06:23:45 +0000 (11:53 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 15 May 2015 00:32:46 +0000 (02:32 +0200)
commit988bed09d35a8533eb59868692b827dfae7b66fe
tree45777d48e928be969defae6948d84f85d41a1909
parentf963735a3ca388da4893fc2d463eca6b58667add
cpufreq: Don't clear cpufreq_cpu_data and policy list for inactive policies

Now that we can check policy->cpus to find if policy is active or not,
we don't need to clean cpufreq_cpu_data and delete policy from the list
on light weight tear down of policies (like in suspend).

To make it consistent and clean, set cpufreq_cpu_data for all related
CPUs when the policy is first created and clean it only while it is
freed.

Also update cpufreq_cpu_get_raw() to check if cpu is part of
policy->cpus mask, so that we don't end up getting policies for offline
CPUs.

In order to make sure that no users of 'policy' are using an inactive
policy, use cpufreq_cpu_get_raw() instead of directly accessing
cpufreq_cpu_data.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq.c