summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2014-08-28 11:22:26 +0530
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-09-09 01:44:40 +0200
commit48a8624b3abe39bd66490e3ab692a74a73b582eb (patch)
treeb3225525d63067a36fa1adcd9f5938da8a2e48a0 /drivers/cpufreq
parented4b053cb864f29f57cf5a4c3f3c85cda22edaf1 (diff)
downloadop-kernel-dev-48a8624b3abe39bd66490e3ab692a74a73b582eb.zip
op-kernel-dev-48a8624b3abe39bd66490e3ab692a74a73b582eb.tar.gz
cpufreq: cpu0: print relevant error when we defer probe
Currently, we defer probe if regulator_get() returned -EPROBE_DEFER, i.e. regulator isn't registered yet. We do a dev_err() in this case. Sending a message to the log on probe defer just duplicates what the driver core is already doing. Convert it to dev_dbg() instead. We should defer in case of clk_get() as well. Current code already does it, but it wasn't intentional probably. Its just that we are returning the right error with wrong print message. Fix print message to convey right error. Tested-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-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.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c
index d2dc9216..eb07e3f 100644
--- a/drivers/cpufreq/cpufreq-cpu0.c
+++ b/drivers/cpufreq/cpufreq-cpu0.c
@@ -151,7 +151,16 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev)
cpu_clk = clk_get(cpu_dev, NULL);
if (IS_ERR(cpu_clk)) {
ret = PTR_ERR(cpu_clk);
- pr_err("failed to get cpu0 clock: %d\n", ret);
+
+ /*
+ * If cpu's clk node is present, but clock is not yet
+ * registered, we should try defering probe.
+ */
+ if (ret == -EPROBE_DEFER)
+ dev_dbg(cpu_dev, "cpu0 clock not ready, retry\n");
+ else
+ dev_err(cpu_dev, "failed to get cpu0 clock: %d\n", ret);
+
goto out_put_reg;
}
OpenPOWER on IntegriCloud