Lines Matching refs:ce

42 static inline void __pm_clk_enable(struct device *dev, struct pm_clock_entry *ce)  in __pm_clk_enable()  argument
46 if (ce->status < PCE_STATUS_ERROR) { in __pm_clk_enable()
47 ret = clk_enable(ce->clk); in __pm_clk_enable()
49 ce->status = PCE_STATUS_ENABLED; in __pm_clk_enable()
52 __func__, ce->clk, ret); in __pm_clk_enable()
61 static void pm_clk_acquire(struct device *dev, struct pm_clock_entry *ce) in pm_clk_acquire() argument
63 if (!ce->clk) in pm_clk_acquire()
64 ce->clk = clk_get(dev, ce->con_id); in pm_clk_acquire()
65 if (IS_ERR(ce->clk)) { in pm_clk_acquire()
66 ce->status = PCE_STATUS_ERROR; in pm_clk_acquire()
68 clk_prepare(ce->clk); in pm_clk_acquire()
69 ce->status = PCE_STATUS_ACQUIRED; in pm_clk_acquire()
71 ce->clk, ce->con_id); in pm_clk_acquire()
79 struct pm_clock_entry *ce; in __pm_clk_add() local
84 ce = kzalloc(sizeof(*ce), GFP_KERNEL); in __pm_clk_add()
85 if (!ce) in __pm_clk_add()
89 ce->con_id = kstrdup(con_id, GFP_KERNEL); in __pm_clk_add()
90 if (!ce->con_id) { in __pm_clk_add()
93 kfree(ce); in __pm_clk_add()
98 kfree(ce); in __pm_clk_add()
101 ce->clk = clk; in __pm_clk_add()
104 pm_clk_acquire(dev, ce); in __pm_clk_add()
107 list_add_tail(&ce->node, &psd->clock_list); in __pm_clk_add()
235 static void __pm_clk_remove(struct pm_clock_entry *ce) in __pm_clk_remove() argument
237 if (!ce) in __pm_clk_remove()
240 if (ce->status < PCE_STATUS_ERROR) { in __pm_clk_remove()
241 if (ce->status == PCE_STATUS_ENABLED) in __pm_clk_remove()
242 clk_disable(ce->clk); in __pm_clk_remove()
244 if (ce->status >= PCE_STATUS_ACQUIRED) { in __pm_clk_remove()
245 clk_unprepare(ce->clk); in __pm_clk_remove()
246 clk_put(ce->clk); in __pm_clk_remove()
250 kfree(ce->con_id); in __pm_clk_remove()
251 kfree(ce); in __pm_clk_remove()
265 struct pm_clock_entry *ce; in pm_clk_remove() local
272 list_for_each_entry(ce, &psd->clock_list, node) { in pm_clk_remove()
273 if (!con_id && !ce->con_id) in pm_clk_remove()
275 else if (!con_id || !ce->con_id) in pm_clk_remove()
277 else if (!strcmp(con_id, ce->con_id)) in pm_clk_remove()
285 list_del(&ce->node); in pm_clk_remove()
288 __pm_clk_remove(ce); in pm_clk_remove()
303 struct pm_clock_entry *ce; in pm_clk_remove_clk() local
310 list_for_each_entry(ce, &psd->clock_list, node) { in pm_clk_remove_clk()
311 if (clk == ce->clk) in pm_clk_remove_clk()
319 list_del(&ce->node); in pm_clk_remove_clk()
322 __pm_clk_remove(ce); in pm_clk_remove_clk()
365 struct pm_clock_entry *ce, *c; in pm_clk_destroy() local
375 list_for_each_entry_safe_reverse(ce, c, &psd->clock_list, node) in pm_clk_destroy()
376 list_move(&ce->node, &list); in pm_clk_destroy()
382 list_for_each_entry_safe_reverse(ce, c, &list, node) { in pm_clk_destroy()
383 list_del(&ce->node); in pm_clk_destroy()
384 __pm_clk_remove(ce); in pm_clk_destroy()
396 struct pm_clock_entry *ce; in pm_clk_suspend() local
406 list_for_each_entry_reverse(ce, &psd->clock_list, node) { in pm_clk_suspend()
407 if (ce->status < PCE_STATUS_ERROR) { in pm_clk_suspend()
408 if (ce->status == PCE_STATUS_ENABLED) in pm_clk_suspend()
409 clk_disable(ce->clk); in pm_clk_suspend()
410 ce->status = PCE_STATUS_ACQUIRED; in pm_clk_suspend()
427 struct pm_clock_entry *ce; in pm_clk_resume() local
437 list_for_each_entry(ce, &psd->clock_list, node) in pm_clk_resume()
438 __pm_clk_enable(dev, ce); in pm_clk_resume()