瀏覽代碼

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>
Rob Herring 11 年之前
父節點
當前提交
1bde990641
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      arch/arm/common/timer-sp.c

+ 2 - 2
arch/arm/common/timer-sp.c

@@ -233,13 +233,13 @@ static void __init sp804_of_init(struct device_node *np)
 	if (IS_ERR(clk1))
 	if (IS_ERR(clk1))
 		clk1 = NULL;
 		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) {
 	if (of_count_phandle_with_args(np, "clocks", "#clock-cells") == 3) {
 		clk2 = of_clk_get(np, 1);
 		clk2 = of_clk_get(np, 1);
 		if (IS_ERR(clk2)) {
 		if (IS_ERR(clk2)) {
 			pr_err("sp804: %s clock not found: %d\n", np->name,
 			pr_err("sp804: %s clock not found: %d\n", np->name,
 				(int)PTR_ERR(clk2));
 				(int)PTR_ERR(clk2));
-			goto err;
+			clk2 = NULL;
 		}
 		}
 	} else
 	} else
 		clk2 = clk1;
 		clk2 = clk1;