cpufreq: cpufreq-cpu0: NULL is a valid regulator
Since NULL could in theory be a valid regulator we ought to check for IS_ERR() rather than for NULL. In practice this is unlikely to be an issue but it's better for neatness. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
59027d3566
commit
4a511de96d
1 changed files with 4 additions and 5 deletions
|
@ -69,7 +69,7 @@ static int cpu0_set_target(struct cpufreq_policy *policy,
|
||||||
|
|
||||||
cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
|
cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
|
||||||
|
|
||||||
if (cpu_reg) {
|
if (!IS_ERR(cpu_reg)) {
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
opp = opp_find_freq_ceil(cpu_dev, &freq_Hz);
|
opp = opp_find_freq_ceil(cpu_dev, &freq_Hz);
|
||||||
if (IS_ERR(opp)) {
|
if (IS_ERR(opp)) {
|
||||||
|
@ -90,7 +90,7 @@ static int cpu0_set_target(struct cpufreq_policy *policy,
|
||||||
freqs.new / 1000, volt ? volt / 1000 : -1);
|
freqs.new / 1000, volt ? volt / 1000 : -1);
|
||||||
|
|
||||||
/* scaling up? scale voltage before frequency */
|
/* scaling up? scale voltage before frequency */
|
||||||
if (cpu_reg && freqs.new > freqs.old) {
|
if (!IS_ERR(cpu_reg) && freqs.new > freqs.old) {
|
||||||
ret = regulator_set_voltage_tol(cpu_reg, volt, tol);
|
ret = regulator_set_voltage_tol(cpu_reg, volt, tol);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("failed to scale voltage up: %d\n", ret);
|
pr_err("failed to scale voltage up: %d\n", ret);
|
||||||
|
@ -102,14 +102,14 @@ static int cpu0_set_target(struct cpufreq_policy *policy,
|
||||||
ret = clk_set_rate(cpu_clk, freq_exact);
|
ret = clk_set_rate(cpu_clk, freq_exact);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("failed to set clock rate: %d\n", ret);
|
pr_err("failed to set clock rate: %d\n", ret);
|
||||||
if (cpu_reg)
|
if (!IS_ERR(cpu_reg))
|
||||||
regulator_set_voltage_tol(cpu_reg, volt_old, tol);
|
regulator_set_voltage_tol(cpu_reg, volt_old, tol);
|
||||||
freqs.new = freqs.old;
|
freqs.new = freqs.old;
|
||||||
goto post_notify;
|
goto post_notify;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* scaling down? scale voltage after frequency */
|
/* scaling down? scale voltage after frequency */
|
||||||
if (cpu_reg && freqs.new < freqs.old) {
|
if (!IS_ERR(cpu_reg) && freqs.new < freqs.old) {
|
||||||
ret = regulator_set_voltage_tol(cpu_reg, volt, tol);
|
ret = regulator_set_voltage_tol(cpu_reg, volt, tol);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("failed to scale voltage down: %d\n", ret);
|
pr_err("failed to scale voltage down: %d\n", ret);
|
||||||
|
@ -210,7 +210,6 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
pr_warn("failed to get cpu0 regulator: %ld\n",
|
pr_warn("failed to get cpu0 regulator: %ld\n",
|
||||||
PTR_ERR(cpu_reg));
|
PTR_ERR(cpu_reg));
|
||||||
cpu_reg = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cpu_clk = devm_clk_get(cpu_dev, NULL);
|
cpu_clk = devm_clk_get(cpu_dev, NULL);
|
||||||
|
|
Loading…
Add table
Reference in a new issue