|
@@ -147,8 +147,6 @@ void cpufreq_update_util(u64 time, unsigned long util, unsigned long max)
|
|
|
rcu_read_unlock();
|
|
|
}
|
|
|
|
|
|
-DEFINE_MUTEX(cpufreq_governor_lock);
|
|
|
-
|
|
|
/* Flag to suspend/resume CPUFreq governors */
|
|
|
static bool cpufreq_suspended;
|
|
|
|
|
@@ -2015,11 +2013,9 @@ static int __cpufreq_governor(struct cpufreq_policy *policy,
|
|
|
|
|
|
pr_debug("%s: for CPU %u, event %u\n", __func__, policy->cpu, event);
|
|
|
|
|
|
- mutex_lock(&cpufreq_governor_lock);
|
|
|
if ((policy->governor_enabled && event == CPUFREQ_GOV_START)
|
|
|
|| (!policy->governor_enabled
|
|
|
&& (event == CPUFREQ_GOV_LIMITS || event == CPUFREQ_GOV_STOP))) {
|
|
|
- mutex_unlock(&cpufreq_governor_lock);
|
|
|
return -EBUSY;
|
|
|
}
|
|
|
|
|
@@ -2028,8 +2024,6 @@ static int __cpufreq_governor(struct cpufreq_policy *policy,
|
|
|
else if (event == CPUFREQ_GOV_START)
|
|
|
policy->governor_enabled = true;
|
|
|
|
|
|
- mutex_unlock(&cpufreq_governor_lock);
|
|
|
-
|
|
|
ret = policy->governor->governor(policy, event);
|
|
|
|
|
|
if (!ret) {
|
|
@@ -2039,12 +2033,10 @@ static int __cpufreq_governor(struct cpufreq_policy *policy,
|
|
|
policy->governor->initialized--;
|
|
|
} else {
|
|
|
/* Restore original values */
|
|
|
- mutex_lock(&cpufreq_governor_lock);
|
|
|
if (event == CPUFREQ_GOV_STOP)
|
|
|
policy->governor_enabled = true;
|
|
|
else if (event == CPUFREQ_GOV_START)
|
|
|
policy->governor_enabled = false;
|
|
|
- mutex_unlock(&cpufreq_governor_lock);
|
|
|
}
|
|
|
|
|
|
if (((event == CPUFREQ_GOV_POLICY_INIT) && ret) ||
|