Explorar o código

[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 %!s(int64=16) %!d(string=hai) anos
pai
achega
dbb674d57b
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  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)