clk: bcm2835: use match_string() helper
authorYisheng Xie <xieyisheng1@huawei.com>
Thu, 31 May 2018 11:11:13 +0000 (19:11 +0800)
committerStephen Boyd <sboyd@kernel.org>
Sat, 2 Jun 2018 06:17:06 +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.

Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Cc: linux-clk@vger.kernel.org
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/bcm/clk-bcm2835.c

index fa0d5c8611a0dc0440464ae8d71a44d5b37a7712..5e1843321bc8c7c4aa63c9d3c8d17a7c15b3b306 100644 (file)
@@ -1395,7 +1395,7 @@ static struct clk_hw *bcm2835_register_clock(struct bcm2835_cprman *cprman,
        struct bcm2835_clock *clock;
        struct clk_init_data init;
        const char *parents[1 << CM_SRC_BITS];
-       size_t i, j;
+       size_t i;
        int ret;
 
        /*
@@ -1405,12 +1405,11 @@ static struct clk_hw *bcm2835_register_clock(struct bcm2835_cprman *cprman,
        for (i = 0; i < data->num_mux_parents; i++) {
                parents[i] = data->parents[i];
 
-               for (j = 0; j < ARRAY_SIZE(cprman_parent_names); j++) {
-                       if (strcmp(parents[i], cprman_parent_names[j]) == 0) {
-                               parents[i] = cprman->real_parent_names[j];
-                               break;
-                       }
-               }
+               ret = match_string(cprman_parent_names,
+                                  ARRAY_SIZE(cprman_parent_names),
+                                  parents[i]);
+               if (ret >= 0)
+                       parents[i] = cprman->real_parent_names[ret];
        }
 
        memset(&init, 0, sizeof(init));