Skip to content

Commit

Permalink
cpufreq: governor: CPUFREQ_GOV_LIMITS never fails
Browse files Browse the repository at this point in the history
None of the cpufreq governors currently in the tree will ever fail
an invocation of the ->governor() callback with the event argument
equal to CPUFREQ_GOV_LIMITS (unless invoked with incorrect arguments
which doesn't matter anyway) and had it ever failed, the result of
it wouldn't have been very clean.

For this reason, rearrange the code in the core to ignore the return
value of cpufreq_governor() when called with event equal to
CPUFREQ_GOV_LIMITS.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
  • Loading branch information
Rafael J. Wysocki committed May 30, 2016
1 parent 1a695a9 commit d6ff44d
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions drivers/cpufreq/cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -2054,7 +2054,11 @@ static int cpufreq_start_governor(struct cpufreq_policy *policy)
cpufreq_update_current_freq(policy);

ret = cpufreq_governor(policy, CPUFREQ_GOV_START);
return ret ? ret : cpufreq_governor(policy, CPUFREQ_GOV_LIMITS);
if (ret)
return ret;

cpufreq_governor(policy, CPUFREQ_GOV_LIMITS);
return 0;
}

int cpufreq_register_governor(struct cpufreq_governor *governor)
Expand Down Expand Up @@ -2195,7 +2199,8 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy,

if (new_policy->governor == policy->governor) {
pr_debug("cpufreq: governor limits update\n");
return cpufreq_governor(policy, CPUFREQ_GOV_LIMITS);
cpufreq_governor(policy, CPUFREQ_GOV_LIMITS);
return 0;
}

pr_debug("governor switch\n");
Expand Down

0 comments on commit d6ff44d

Please sign in to comment.