2012/6/21 Sergei Shtylyov <sshtylyov@xxxxxxxxxx>
Yes, that's what I mean.
Hello.Because he doesn't support clkdev? clkdev support is optional.
On 06/20/2012 11:25 PM, Ralf Baechle wrote:
+#include <linux/clk.h>
+static LIST_HEAD(clocks);
+static DEFINE_MUTEX(clocks_mutex);
+
+struct clk *clk_get(struct device *dev, const char *name)
+{
+ struct clk *c;
+ struct clk *ret = NULL;
+
+ mutex_lock(&clocks_mutex);
+ list_for_each_entry(c, &clocks, node) {
+ if (!strcmp(c->name, name)) {
+ ret = c;
+ break;
+ }
+ }
+ mutex_unlock(&clocks_mutex);
+
+ return ret;
+}
+EXPORT_SYMBOL(clk_get);
This redefines a function that already is declared in <linux/clk.h> and
defined in drivers/clk/clkdev.c. Why?
Yes, that's what I mean.
+int clk_register(struct clk *clk)
+{
+ mutex_lock(&clocks_mutex);
+ list_add(&clk->node, &clocks);
+ if (clk->ops->init)
+ clk->ops->init(clk);
+ mutex_unlock(&clocks_mutex);
+
+ return 0;
+}
+EXPORT_SYMBOL(clk_register);
Same here.
Ralf
WBR, Sergei
--
Best Regards!
Kelvin