|
|
@@ -2257,21 +2257,18 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy,
|
|
|
* Useful for policy notifiers which have different necessities
|
|
|
* at different times.
|
|
|
*/
|
|
|
-int cpufreq_update_policy(unsigned int cpu)
|
|
|
+void cpufreq_update_policy(unsigned int cpu)
|
|
|
{
|
|
|
struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
|
|
|
struct cpufreq_policy new_policy;
|
|
|
- int ret;
|
|
|
|
|
|
if (!policy)
|
|
|
- return -ENODEV;
|
|
|
+ return;
|
|
|
|
|
|
down_write(&policy->rwsem);
|
|
|
|
|
|
- if (policy_is_inactive(policy)) {
|
|
|
- ret = -ENODEV;
|
|
|
+ if (policy_is_inactive(policy))
|
|
|
goto unlock;
|
|
|
- }
|
|
|
|
|
|
pr_debug("updating policy for CPU %u\n", cpu);
|
|
|
memcpy(&new_policy, policy, sizeof(*policy));
|
|
|
@@ -2283,24 +2280,20 @@ int cpufreq_update_policy(unsigned int cpu)
|
|
|
* -> ask driver for current freq and notify governors about a change
|
|
|
*/
|
|
|
if (cpufreq_driver->get && !cpufreq_driver->setpolicy) {
|
|
|
- if (cpufreq_suspended) {
|
|
|
- ret = -EAGAIN;
|
|
|
+ if (cpufreq_suspended)
|
|
|
goto unlock;
|
|
|
- }
|
|
|
+
|
|
|
new_policy.cur = cpufreq_update_current_freq(policy);
|
|
|
- if (WARN_ON(!new_policy.cur)) {
|
|
|
- ret = -EIO;
|
|
|
+ if (WARN_ON(!new_policy.cur))
|
|
|
goto unlock;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
- ret = cpufreq_set_policy(policy, &new_policy);
|
|
|
+ cpufreq_set_policy(policy, &new_policy);
|
|
|
|
|
|
unlock:
|
|
|
up_write(&policy->rwsem);
|
|
|
|
|
|
cpufreq_cpu_put(policy);
|
|
|
- return ret;
|
|
|
}
|
|
|
EXPORT_SYMBOL(cpufreq_update_policy);
|
|
|
|