From 30b07339e71c71d9b1b4e22b72ddd4ff7fc87a5a Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Wed, 2 Apr 2014 12:31:57 +0200 Subject: [PATCH] cpufreq:LAB: Change method of boost state preserving It is not necessary to change the boost state when LAB governor is entered, since LAB will change it according to its own politics. Only enter state is preserved. When leaving the LAB, only when required, work is scheduled to restore boost initial state. Change-Id: I6323f3c0011fe54a33d70c9ad0f9da5360b4a735 Signed-off-by: Lukasz Majewski --- drivers/cpufreq/cpufreq_lab.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/cpufreq/cpufreq_lab.c b/drivers/cpufreq/cpufreq_lab.c index 1738a7a..17f9701 100644 --- a/drivers/cpufreq/cpufreq_lab.c +++ b/drivers/cpufreq/cpufreq_lab.c @@ -388,8 +388,6 @@ static int lb_init(struct dbs_data *dbs_data) goto err_idle_hist; boost_init_state = cpufreq_boost_enabled(); - if (boost_init_state) - cpufreq_boost_trigger_state(false); od_init(dbs_data); @@ -412,10 +410,13 @@ void lb_exit(struct dbs_data *dbs_data) kfree(lb_ctrl_table); lb_ctrl_table = NULL; - cpufreq_boost_trigger_state(boost_init_state); - kfree(idle_avg); kfree(idle_hist); + + if (cpufreq_boost_enabled() != boost_init_state) { + lb_boost_data.state = boost_init_state; + schedule_work(&lb_boost_data.work); + } } define_get_cpu_dbs_routines(od_cpu_dbs_info); -- 2.7.4