• Rafael J. Wysocki's avatar
    cpufreq: Use syscore_ops for boot CPU suspend/resume (v2) · e00e56df
    Rafael J. Wysocki authored
    The cpufreq subsystem uses sysdev suspend and resume for
    executing cpufreq_suspend() and cpufreq_resume(), respectively,
    during system suspend, after interrupts have been switched off on the
    boot CPU, and during system resume, while interrupts are still off on
    the boot CPU.  In both cases the other CPUs are off-line at the
    relevant point (either they have been switched off via CPU hotplug
    during suspend, or they haven't been switched on yet during resume).
    For this reason, although it may seem that cpufreq_suspend() and
    cpufreq_resume() are executed for all CPUs in the system, they are
    only called for the boot CPU in fact, which is quite confusing.
    
    To remove the confusion and to prepare for elimiating sysdev
    suspend and resume operations from the kernel enirely, convernt
    cpufreq to using a struct syscore_ops object for the boot CPU
    suspend and resume and rename the callbacks so that their names
    reflect their purpose.  In addition, put some explanatory remarks
    into their kerneldoc comments.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    e00e56df
cpufreq.c 50.4 KB