diff options
author | Mark Brown <broonie@linaro.org> | 2013-08-13 08:58:24 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-08-14 16:24:22 -0400 |
commit | 4a511de96d692f2dfa126c10dda4e41636c0ef27 (patch) | |
tree | 20ddaa54c87e088d2eadc3600ea4ebd5bbe7383b /drivers/cpufreq | |
parent | 59027d356666a2c1d576baacb98de9fb30e4c48e (diff) |
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>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/cpufreq-cpu0.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c index ad1fde277661..09cd3a76fb2e 100644 --- a/drivers/cpufreq/cpufreq-cpu0.c +++ b/drivers/cpufreq/cpufreq-cpu0.c | |||
@@ -69,7 +69,7 @@ static int cpu0_set_target(struct cpufreq_policy *policy, | |||
69 | 69 | ||
70 | cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE); | 70 | cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE); |
71 | 71 | ||
72 | if (cpu_reg) { | 72 | if (!IS_ERR(cpu_reg)) { |
73 | rcu_read_lock(); | 73 | rcu_read_lock(); |
74 | opp = opp_find_freq_ceil(cpu_dev, &freq_Hz); | 74 | opp = opp_find_freq_ceil(cpu_dev, &freq_Hz); |
75 | if (IS_ERR(opp)) { | 75 | if (IS_ERR(opp)) { |
@@ -90,7 +90,7 @@ static int cpu0_set_target(struct cpufreq_policy *policy, | |||
90 | freqs.new / 1000, volt ? volt / 1000 : -1); | 90 | freqs.new / 1000, volt ? volt / 1000 : -1); |
91 | 91 | ||
92 | /* scaling up? scale voltage before frequency */ | 92 | /* scaling up? scale voltage before frequency */ |
93 | if (cpu_reg && freqs.new > freqs.old) { | 93 | if (!IS_ERR(cpu_reg) && freqs.new > freqs.old) { |
94 | ret = regulator_set_voltage_tol(cpu_reg, volt, tol); | 94 | ret = regulator_set_voltage_tol(cpu_reg, volt, tol); |
95 | if (ret) { | 95 | if (ret) { |
96 | pr_err("failed to scale voltage up: %d\n", ret); | 96 | pr_err("failed to scale voltage up: %d\n", ret); |
@@ -102,14 +102,14 @@ static int cpu0_set_target(struct cpufreq_policy *policy, | |||
102 | ret = clk_set_rate(cpu_clk, freq_exact); | 102 | ret = clk_set_rate(cpu_clk, freq_exact); |
103 | if (ret) { | 103 | if (ret) { |
104 | pr_err("failed to set clock rate: %d\n", ret); | 104 | pr_err("failed to set clock rate: %d\n", ret); |
105 | if (cpu_reg) | 105 | if (!IS_ERR(cpu_reg)) |
106 | regulator_set_voltage_tol(cpu_reg, volt_old, tol); | 106 | regulator_set_voltage_tol(cpu_reg, volt_old, tol); |
107 | freqs.new = freqs.old; | 107 | freqs.new = freqs.old; |
108 | goto post_notify; | 108 | goto post_notify; |
109 | } | 109 | } |
110 | 110 | ||
111 | /* scaling down? scale voltage after frequency */ | 111 | /* scaling down? scale voltage after frequency */ |
112 | if (cpu_reg && freqs.new < freqs.old) { | 112 | if (!IS_ERR(cpu_reg) && freqs.new < freqs.old) { |
113 | ret = regulator_set_voltage_tol(cpu_reg, volt, tol); | 113 | ret = regulator_set_voltage_tol(cpu_reg, volt, tol); |
114 | if (ret) { | 114 | if (ret) { |
115 | pr_err("failed to scale voltage down: %d\n", ret); | 115 | pr_err("failed to scale voltage down: %d\n", ret); |
@@ -210,7 +210,6 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev) | |||
210 | } | 210 | } |
211 | pr_warn("failed to get cpu0 regulator: %ld\n", | 211 | pr_warn("failed to get cpu0 regulator: %ld\n", |
212 | PTR_ERR(cpu_reg)); | 212 | PTR_ERR(cpu_reg)); |
213 | cpu_reg = NULL; | ||
214 | } | 213 | } |
215 | 214 | ||
216 | cpu_clk = devm_clk_get(cpu_dev, NULL); | 215 | cpu_clk = devm_clk_get(cpu_dev, NULL); |