ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock

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>
This commit is contained in:
Rob Herring 2014-05-29 16:01:34 -05:00
parent f27e861f7b
commit 1bde990641

View 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;