浏览代码

[ARM] omap: allow double-registering of clocks

This stops things blowing up if a 'struct clk' to be passed more
than once to clk_register(), which will be required when we decouple
struct clk's from their names.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King 16 年之前
父节点
当前提交
dbb674d57b
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      arch/arm/plat-omap/clock.c

+ 6 - 0
arch/arm/plat-omap/clock.c

@@ -292,6 +292,12 @@ int clk_register(struct clk *clk)
 	if (clk == NULL || IS_ERR(clk))
 		return -EINVAL;
 
+	/*
+	 * trap out already registered clocks
+	 */
+	if (clk->node.next || clk->node.prev)
+		return 0;
+
 	mutex_lock(&clocks_mutex);
 	list_add(&clk->node, &clocks);
 	if (clk->init)