• Viresh Kumar's avatar
    cpufreq: Don't clear cpufreq_cpu_data and policy list for inactive policies · 988bed09
    Viresh Kumar authored
    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: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    988bed09
cpufreq.c 66.4 KB