Lines Matching refs:parent
38 size_t parent = 0; in clk_alloc() local
45 for (parent = 0; parent < parent_count; parent++) in clk_alloc()
46 clk->parents[parent] = parent_clks[parent]; in clk_alloc()
78 if (clk->parent) { in clk_compute_rate_no_lock()
79 clk_compute_rate_no_lock(clk->parent); in clk_compute_rate_no_lock()
80 parent_rate = clk->parent->rate; in clk_compute_rate_no_lock()
105 clk->parent = clk->parents[0]; in clk_init_parent()
111 clk->parent = clk->parents[pidx]; in clk_init_parent()
144 struct clk *parent = NULL; in clk_disable_no_lock() local
152 parent = clk_get_parent(clk); in clk_disable_no_lock()
153 if (parent) in clk_disable_no_lock()
154 clk_disable_no_lock(parent); in clk_disable_no_lock()
160 struct clk *parent = NULL; in clk_enable_no_lock() local
165 parent = clk_get_parent(clk); in clk_enable_no_lock()
166 if (parent) { in clk_enable_no_lock()
167 res = clk_enable_no_lock(parent); in clk_enable_no_lock()
175 if (parent) in clk_enable_no_lock()
176 clk_disable_no_lock(parent); in clk_enable_no_lock()
217 if (clk->parent) in clk_set_rate_no_lock()
218 parent_rate = clk_get_rate(clk->parent); in clk_set_rate_no_lock()
220 assert(!(clk->flags & CLK_SET_RATE_PARENT) || clk->parent); in clk_set_rate_no_lock()
222 res = clk_set_rate_no_lock(clk->parent, rate); in clk_set_rate_no_lock()
225 rate = clk_get_rate(clk->parent); in clk_set_rate_no_lock()
267 return clk->parent; in clk_get_parent()
270 static TEE_Result clk_get_parent_idx(struct clk *clk, struct clk *parent, in clk_get_parent_idx() argument
276 if (clk_get_parent_by_index(clk, i) == parent) { in clk_get_parent_idx()
281 EMSG("Clock %s is not a parent of clock %s", parent->name, clk->name); in clk_get_parent_idx()
286 static TEE_Result clk_set_parent_no_lock(struct clk *clk, struct clk *parent, in clk_set_parent_no_lock() argument
293 if (clk->parent == parent) in clk_set_parent_no_lock()
300 res = clk_enable_no_lock(parent); in clk_set_parent_no_lock()
312 clk->parent = parent; in clk_set_parent_no_lock()
326 clk_disable_no_lock(parent); in clk_set_parent_no_lock()
333 TEE_Result clk_set_parent(struct clk *clk, struct clk *parent) in clk_set_parent() argument
338 if (clk_get_parent_idx(clk, parent, &pidx) || !clk->ops->set_parent) in clk_set_parent()
347 res = clk_set_parent_no_lock(clk, parent, pidx); in clk_set_parent()
378 if (clk->parent && (clk->flags & CLK_DUTY_CYCLE_PARENT)) in clk_get_duty_cycle()
379 return clk_get_duty_cycle(clk->parent, duty_cycle); in clk_get_duty_cycle()
405 static struct clk *find_next_clk(struct clk *parent __maybe_unused, in find_next_clk()
416 while (clk && clk->parent != parent) in find_next_clk()
425 return !find_next_clk(clk->parent, clk); in clk_is_parent_last_child()
436 clk = clk->parent; in indent_last_node_already_found()
508 struct clk *parent = NULL; in print_tree() local
520 next = find_next_clk(parent, clk); in print_tree()
524 parent = next; in print_tree()
532 if (!parent) in print_tree()
538 clk = parent; in print_tree()
539 parent = clk->parent; in print_tree()