OSDN Git Service

clk: use match_string() helper
authorYisheng Xie <xieyisheng1@huawei.com>
Thu, 31 May 2018 11:11:14 +0000 (19:11 +0800)
committerStephen Boyd <sboyd@kernel.org>
Sat, 2 Jun 2018 06:17:08 +0000 (23:17 -0700)
match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Cc: Michael Turquette <mturquette@baylibre.com>
Cc: linux-clk@vger.kernel.org
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk.c

index ea67ac8..b7d1a56 100644 (file)
@@ -2170,7 +2170,6 @@ void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent)
 bool clk_has_parent(struct clk *clk, struct clk *parent)
 {
        struct clk_core *core, *parent_core;
-       unsigned int i;
 
        /* NULL clocks should be nops, so return success if either is NULL. */
        if (!clk || !parent)
@@ -2183,11 +2182,8 @@ bool clk_has_parent(struct clk *clk, struct clk *parent)
        if (core->parent == parent_core)
                return true;
 
-       for (i = 0; i < core->num_parents; i++)
-               if (strcmp(core->parent_names[i], parent_core->name) == 0)
-                       return true;
-
-       return false;
+       return match_string(core->parent_names, core->num_parents,
+                           parent_core->name) >= 0;
 }
 EXPORT_SYMBOL_GPL(clk_has_parent);