Loading drivers/clk/clk.c +11 −42 Original line number Diff line number Diff line Loading @@ -52,18 +52,6 @@ struct clk_handoff_vdd { static LIST_HEAD(clk_handoff_vdd_list); static bool vdd_class_handoff_completed; static DEFINE_MUTEX(vdd_class_list_lock); static struct hlist_head *all_lists[] = { &clk_root_list, &clk_orphan_list, NULL, }; static struct hlist_head *orphan_list[] = { &clk_orphan_list, NULL, }; /* * clk_rate_change_list is used during clk_core_set_rate_nolock() calls to * handle vdd_class vote tracking. core->rate_change_node is added to Loading Loading @@ -3238,6 +3226,17 @@ static u32 debug_suspend; static DEFINE_MUTEX(clk_debug_lock); static HLIST_HEAD(clk_debug_list); static struct hlist_head *all_lists[] = { &clk_root_list, &clk_orphan_list, NULL, }; static struct hlist_head *orphan_list[] = { &clk_orphan_list, NULL, }; static void clk_state_subtree(struct clk_core *c) { int vdd_level = 0; Loading Loading @@ -4513,34 +4512,6 @@ static const struct clk_ops clk_nodrv_ops = { .set_parent = clk_nodrv_set_parent, }; static void clk_core_evict_parent_cache_subtree(struct clk_core *root, struct clk_core *target) { int i; struct clk_core *child; for (i = 0; i < root->num_parents; i++) if (root->parents[i] == target) root->parents[i] = NULL; hlist_for_each_entry(child, &root->children, child_node) clk_core_evict_parent_cache_subtree(child, target); } /* Remove this clk from all parent caches */ static void clk_core_evict_parent_cache(struct clk_core *core) { struct hlist_head **lists; struct clk_core *root; lockdep_assert_held(&prepare_lock); for (lists = all_lists; *lists; lists++) hlist_for_each_entry(root, *lists, child_node) clk_core_evict_parent_cache_subtree(root, core); } /** * clk_unregister - unregister a currently registered clock * @clk: clock to unregister Loading Loading @@ -4579,8 +4550,6 @@ void clk_unregister(struct clk *clk) clk_core_set_parent_nolock(child, NULL); } clk_core_evict_parent_cache(clk->core); hlist_del_init(&clk->core->child_node); if (clk->core->prepare_count) Loading Loading
drivers/clk/clk.c +11 −42 Original line number Diff line number Diff line Loading @@ -52,18 +52,6 @@ struct clk_handoff_vdd { static LIST_HEAD(clk_handoff_vdd_list); static bool vdd_class_handoff_completed; static DEFINE_MUTEX(vdd_class_list_lock); static struct hlist_head *all_lists[] = { &clk_root_list, &clk_orphan_list, NULL, }; static struct hlist_head *orphan_list[] = { &clk_orphan_list, NULL, }; /* * clk_rate_change_list is used during clk_core_set_rate_nolock() calls to * handle vdd_class vote tracking. core->rate_change_node is added to Loading Loading @@ -3238,6 +3226,17 @@ static u32 debug_suspend; static DEFINE_MUTEX(clk_debug_lock); static HLIST_HEAD(clk_debug_list); static struct hlist_head *all_lists[] = { &clk_root_list, &clk_orphan_list, NULL, }; static struct hlist_head *orphan_list[] = { &clk_orphan_list, NULL, }; static void clk_state_subtree(struct clk_core *c) { int vdd_level = 0; Loading Loading @@ -4513,34 +4512,6 @@ static const struct clk_ops clk_nodrv_ops = { .set_parent = clk_nodrv_set_parent, }; static void clk_core_evict_parent_cache_subtree(struct clk_core *root, struct clk_core *target) { int i; struct clk_core *child; for (i = 0; i < root->num_parents; i++) if (root->parents[i] == target) root->parents[i] = NULL; hlist_for_each_entry(child, &root->children, child_node) clk_core_evict_parent_cache_subtree(child, target); } /* Remove this clk from all parent caches */ static void clk_core_evict_parent_cache(struct clk_core *core) { struct hlist_head **lists; struct clk_core *root; lockdep_assert_held(&prepare_lock); for (lists = all_lists; *lists; lists++) hlist_for_each_entry(root, *lists, child_node) clk_core_evict_parent_cache_subtree(root, core); } /** * clk_unregister - unregister a currently registered clock * @clk: clock to unregister Loading Loading @@ -4579,8 +4550,6 @@ void clk_unregister(struct clk *clk) clk_core_set_parent_nolock(child, NULL); } clk_core_evict_parent_cache(clk->core); hlist_del_init(&clk->core->child_node); if (clk->core->prepare_count) Loading