On Thursday 17 May 2018 08:39 PM, David Lechner wrote:
On 05/17/2018 09:35 AM, Sekhar Nori wrote:
Hi David,
On Wednesday 09 May 2018 10:56 PM, David Lechner wrote:
This adds device tree support to the davinci timer so that when clocks
are moved to device tree, the timer will still work.
Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx>
---
+static int __init of_davinci_timer_init(struct device_node *np)
+{
+ÂÂÂ struct clk *clk;
+
+ÂÂÂ clk = of_clk_get(np, 0);
+ÂÂÂ if (IS_ERR(clk)) {
+ÂÂÂÂÂÂÂ struct of_phandle_args clkspec;
+
+ÂÂÂÂÂÂÂ /*
+ÂÂÂÂÂÂÂÂ * Fall back to using ref_clk if the actual clock is not
+ÂÂÂÂÂÂÂÂ * available. There will be problems later if the real clock
+ÂÂÂÂÂÂÂÂ * source is disabled.
+ÂÂÂÂÂÂÂÂ */
+
+ÂÂÂÂÂÂÂ pr_warn("%s: falling back to ref_clk\n", __func__);
+
+ÂÂÂÂÂÂÂ clkspec.np = of_find_node_by_name(NULL, "ref_clk");
+ÂÂÂÂÂÂÂ if (IS_ERR(clkspec.np)) {
+ÂÂÂÂÂÂÂÂÂÂÂ pr_err("%s: No clock available for timer!\n", __func__);
+ÂÂÂÂÂÂÂÂÂÂÂ return PTR_ERR(clkspec.np);
+ÂÂÂÂÂÂÂ }
+ÂÂÂÂÂÂÂ clk = of_clk_get_from_provider(&clkspec);
+ÂÂÂÂÂÂÂ of_node_put(clkspec.np);
+ÂÂÂ }
Do we need this error path now?
Thanks,
Sekhar
No, not really.
Then lets just print an error and return the error number.