• Viresh Kumar's avatar
    cpufreq: Merge cpufreq_offline_prepare/finish routines · 69cee714
    Viresh Kumar authored
    Commit 1aee40ac
     (cpufreq: Invoke __cpufreq_remove_dev_finish()
    after releasing cpu_hotplug.lock) split the cpufreq's CPU offline
    routine in two pieces, one of them to be run with CPU offline/online
    locked and the other to be called later.  The reason for that split
    was a possible deadlock scenario involving cpufreq sysfs attributes
    and CPU offline.
    However, the handling of CPU offline in cpufreq has changed since
    then.  Policy sysfs attributes are never removed during CPU offline,
    so there's no need to worry about accessing them during CPU offline,
    because that can't lead to any deadlocks now.  Governor sysfs
    attributes are still removed in __cpufreq_governor(_EXIT), but
    there is a new kobject type for them now and its show/store
    callbacks don't lock CPU offline/online (they don't need to do
    This means that the CPU offline code in cpufreq doesn't need to
    be split any more, so combine cpufreq_offline_prepare() with
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    [ rjw: Changelog ]
    Tested-by: default avatarJuri Lelli <juri.lelli@arm.com>
    Tested-by: default avatarShilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>