[ARM] 5536/1: Move clk_add_alias() to arch/arm/common/clkdev.c
authorTony Lindgren <tony@atomide.com>
Wed, 3 Jun 2009 16:43:14 +0000 (17:43 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 4 Jun 2009 16:45:43 +0000 (17:45 +0100)
This can be used for other arm platforms too as discussed
on the linux-arm-kernel list.

Also check the return value with IS_ERR and return PTR_ERR
as suggested by Russell King.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/common/clkdev.c
arch/arm/mach-pxa/clock.c
include/linux/clk.h

index 5589444ff4376bc88f3e37b4042cf03f000548cd..f37afd9422f3b1905884f525b58b19fcc4dd65f9 100644 (file)
@@ -135,6 +135,24 @@ struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id,
 }
 EXPORT_SYMBOL(clkdev_alloc);
 
+int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
+       struct device *dev)
+{
+       struct clk *r = clk_get(dev, id);
+       struct clk_lookup *l;
+
+       if (IS_ERR(r))
+               return PTR_ERR(r);
+
+       l = clkdev_alloc(r, alias, alias_dev_name);
+       clk_put(r);
+       if (!l)
+               return -ENODEV;
+       clkdev_add(l);
+       return 0;
+}
+EXPORT_SYMBOL(clk_add_alias);
+
 /*
  * clkdev_drop - remove a clock dynamically allocated
  */
index db52d2c4791da521ab5fffe61056046746e9e658..49ae38292310c2b1058c433f7e2a16fbe378756f 100644 (file)
@@ -86,20 +86,3 @@ void clks_register(struct clk_lookup *clks, size_t num)
        for (i = 0; i < num; i++)
                clkdev_add(&clks[i]);
 }
-
-int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
-       struct device *dev)
-{
-       struct clk *r = clk_get(dev, id);
-       struct clk_lookup *l;
-
-       if (!r)
-               return -ENODEV;
-
-       l = clkdev_alloc(r, alias, alias_dev_name);
-       clk_put(r);
-       if (!l)
-               return -ENODEV;
-       clkdev_add(l);
-       return 0;
-}
index 1db9bbf444a302f5cf18b31257789d5daa9709a2..1d37f42ac294bd9ca18b493ef947ec0f9d08cab0 100644 (file)
@@ -142,4 +142,17 @@ struct clk *clk_get_parent(struct clk *clk);
  */
 struct clk *clk_get_sys(const char *dev_id, const char *con_id);
 
+/**
+ * clk_add_alias - add a new clock alias
+ * @alias: name for clock alias
+ * @alias_dev_name: device name
+ * @id: platform specific clock name
+ * @dev: device
+ *
+ * Allows using generic clock names for drivers by adding a new alias.
+ * Assumes clkdev, see clkdev.h for more info.
+ */
+int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
+                       struct device *dev);
+
 #endif
This page took 0.032696 seconds and 5 git commands to generate.