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(__clk_get_hw(cl->clk), 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()
246 vclkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, in vclkdev_alloc() argument
255 cla->cl.clk = clk; in vclkdev_alloc()
270 clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...) in clkdev_alloc() argument
276 cl = vclkdev_alloc(clk, con_id, dev_fmt, ap); in clkdev_alloc()
286 struct clk *r = clk_get(dev, id); in clk_add_alias()
327 int clk_register_clkdev(struct clk *clk, const char *con_id, in clk_register_clkdev() argument
333 if (IS_ERR(clk)) in clk_register_clkdev()
334 return PTR_ERR(clk); in clk_register_clkdev()
337 cl = vclkdev_alloc(clk, con_id, dev_fmt, ap); in clk_register_clkdev()
360 int clk_register_clkdevs(struct clk *clk, struct clk_lookup *cl, size_t num) in clk_register_clkdevs() argument
364 if (IS_ERR(clk)) in clk_register_clkdevs()
365 return PTR_ERR(clk); in clk_register_clkdevs()
368 cl->clk = clk; in clk_register_clkdevs()