[PATCH 3/5] clk: refactor of_clk_del_provider()

From: Masahiro Yamada
Date: Tue Jul 19 2016 - 05:20:43 EST


Now, it is guaranteed that a single node does not appear twice in
the list of OF clock providers. So, of_clk_del_provider() only
needs to free the first occurrence. This can be implemented more
simply with __of_clk_find_provider().

Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
---

drivers/clk/clk.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 7832343..60daf60 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -3121,13 +3121,11 @@ void of_clk_del_provider(struct device_node *np)
struct of_clk_provider *cp;

mutex_lock(&of_clk_mutex);
- list_for_each_entry(cp, &of_clk_providers, link) {
- if (cp->node == np) {
- list_del(&cp->link);
- of_node_put(cp->node);
- kfree(cp);
- break;
- }
+ cp = __of_clk_find_provider(np);
+ if (cp) {
+ list_del(&cp->link);
+ of_node_put(cp->node);
+ kfree(cp);
}
mutex_unlock(&of_clk_mutex);
}
--
1.9.1