Lines Matching refs:clk
31 static struct clk *__of_clk_get(struct device_node *np, int index, in __of_clk_get()
35 struct clk *clk; in __of_clk_get() local
46 clk = __of_clk_get_from_provider(&clkspec, dev_id, con_id); in __of_clk_get()
49 return clk; in __of_clk_get()
52 struct clk *of_clk_get(struct device_node *np, int index) in of_clk_get()
58 static struct clk *__of_clk_get_by_name(struct device_node *np, in __of_clk_get_by_name()
62 struct clk *clk = ERR_PTR(-ENOENT); in __of_clk_get_by_name() local
75 clk = __of_clk_get(np, index, dev_id, name); in __of_clk_get_by_name()
76 if (!IS_ERR(clk)) { in __of_clk_get_by_name()
79 if (PTR_ERR(clk) != -EPROBE_DEFER) in __of_clk_get_by_name()
82 return clk; in __of_clk_get_by_name()
95 return clk; in __of_clk_get_by_name()
107 struct clk *of_clk_get_by_name(struct device_node *np, const char *name) in of_clk_get_by_name()
118 static struct clk *__of_clk_get_by_name(struct device_node *np, in __of_clk_get_by_name()
169 struct clk *clk_get_sys(const char *dev_id, const char *con_id) in clk_get_sys()
172 struct clk *clk = NULL; in clk_get_sys() local
180 clk = __clk_create_clk(cl->clk_hw, dev_id, con_id); in clk_get_sys()
181 if (IS_ERR(clk)) in clk_get_sys()
184 if (!__clk_get(clk)) { in clk_get_sys()
185 __clk_free_clk(clk); in clk_get_sys()
193 return cl ? clk : ERR_PTR(-ENOENT); in clk_get_sys()
197 struct clk *clk_get(struct device *dev, const char *con_id) in clk_get()
200 struct clk *clk; in clk_get() local
203 clk = __of_clk_get_by_name(dev->of_node, dev_id, con_id); in clk_get()
204 if (!IS_ERR(clk) || PTR_ERR(clk) == -EPROBE_DEFER) in clk_get()
205 return clk; in clk_get()
212 void clk_put(struct clk *clk) in clk_put() argument
214 __clk_put(clk); in clk_put()
228 cl->clk_hw = __clk_get_hw(cl->clk); in clkdev_add()
237 cl->clk_hw = __clk_get_hw(cl->clk); in clkdev_add_table()
291 clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...) in clkdev_alloc() argument
297 cl = vclkdev_alloc(__clk_get_hw(clk), con_id, dev_fmt, ap); in clkdev_alloc()
313 struct clk_lookup *clkdev_create(struct clk *clk, const char *con_id, in clkdev_create() argument
320 cl = vclkdev_create(__clk_get_hw(clk), con_id, dev_fmt, ap); in clkdev_create()
330 struct clk *r = clk_get(dev, con_id); in clk_add_alias()
370 int clk_register_clkdev(struct clk *clk, const char *con_id, in clk_register_clkdev() argument
376 if (IS_ERR(clk)) in clk_register_clkdev()
377 return PTR_ERR(clk); in clk_register_clkdev()
380 cl = vclkdev_create(__clk_get_hw(clk), con_id, dev_fmt, ap); in clk_register_clkdev()
398 int clk_register_clkdevs(struct clk *clk, struct clk_lookup *cl, size_t num) in clk_register_clkdevs() argument
402 if (IS_ERR(clk)) in clk_register_clkdevs()
403 return PTR_ERR(clk); in clk_register_clkdevs()
406 cl->clk_hw = __clk_get_hw(clk); in clk_register_clkdevs()