mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 23:20:05 +00:00
cpufreq: dt: Implement online/offline() callbacks
Implement the light-weight tear down and bring up helpers to reduce the amount of work to do on CPU offline/online operation. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
91a12e91dc
commit
263abfe74b
@ -295,6 +295,21 @@ out_put_clk:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int cpufreq_online(struct cpufreq_policy *policy)
|
||||
{
|
||||
/* We did light-weight tear down earlier, nothing to do here */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cpufreq_offline(struct cpufreq_policy *policy)
|
||||
{
|
||||
/*
|
||||
* Preserve policy->driver_data and don't free resources on light-weight
|
||||
* tear down.
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cpufreq_exit(struct cpufreq_policy *policy)
|
||||
{
|
||||
struct private_data *priv = policy->driver_data;
|
||||
@ -319,6 +334,8 @@ static struct cpufreq_driver dt_cpufreq_driver = {
|
||||
.get = cpufreq_generic_get,
|
||||
.init = cpufreq_init,
|
||||
.exit = cpufreq_exit,
|
||||
.online = cpufreq_online,
|
||||
.offline = cpufreq_offline,
|
||||
.name = "cpufreq-dt",
|
||||
.attr = cpufreq_dt_attr,
|
||||
.suspend = cpufreq_generic_suspend,
|
||||
|
Loading…
x
Reference in New Issue
Block a user