ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock
authorRob Herring <robh@kernel.org>
Thu, 29 May 2014 21:01:34 +0000 (16:01 -0500)
committerRob Herring <robh@kernel.org>
Tue, 24 Jun 2014 19:16:03 +0000 (14:16 -0500)
The sp804 clocks may be specified in DT, but the kernel may still be using
legacy clocks. This is handled if a single clock for sp804 is present,
but not when 3 clocks are present.

This prevents Versatile platforms from breaking when the DT has clocks
added.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
arch/arm/common/timer-sp.c

index fd6bff0c5b967a7503c8912c8ef2a52101e4c7eb..19211324772f387c4925984e58fe29b4682fed38 100644 (file)
@@ -233,13 +233,13 @@ static void __init sp804_of_init(struct device_node *np)
        if (IS_ERR(clk1))
                clk1 = NULL;
 
-       /* Get the 2nd clock if the timer has 2 timer clocks */
+       /* Get the 2nd clock if the timer has 3 timer clocks */
        if (of_count_phandle_with_args(np, "clocks", "#clock-cells") == 3) {
                clk2 = of_clk_get(np, 1);
                if (IS_ERR(clk2)) {
                        pr_err("sp804: %s clock not found: %d\n", np->name,
                                (int)PTR_ERR(clk2));
-                       goto err;
+                       clk2 = NULL;
                }
        } else
                clk2 = clk1;