diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2018-05-03 13:26:42 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2018-05-16 08:17:21 -0400 |
commit | 59837002c775df7f57f1d494582a7d9c340de890 (patch) | |
tree | 6937224fdd3dccb48dda806e138496af4a41510d | |
parent | 90b60552a29b9517b56856b849f229b3e915e6ac (diff) |
pinctrl: armada-37xx: Convert to use match_string() helper
The new helper returns index of the matching string in an array.
We are going to use it here.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c index 5b63248c8209..0f1eafba0ded 100644 --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | |||
@@ -214,18 +214,6 @@ static inline void armada_37xx_update_reg(unsigned int *reg, | |||
214 | } | 214 | } |
215 | } | 215 | } |
216 | 216 | ||
217 | static int armada_37xx_get_func_reg(struct armada_37xx_pin_group *grp, | ||
218 | const char *func) | ||
219 | { | ||
220 | int f; | ||
221 | |||
222 | for (f = 0; (f < NB_FUNCS) && grp->funcs[f]; f++) | ||
223 | if (!strcmp(grp->funcs[f], func)) | ||
224 | return f; | ||
225 | |||
226 | return -ENOTSUPP; | ||
227 | } | ||
228 | |||
229 | static struct armada_37xx_pin_group *armada_37xx_find_next_grp_by_pin( | 217 | static struct armada_37xx_pin_group *armada_37xx_find_next_grp_by_pin( |
230 | struct armada_37xx_pinctrl *info, int pin, int *grp) | 218 | struct armada_37xx_pinctrl *info, int pin, int *grp) |
231 | { | 219 | { |
@@ -344,10 +332,9 @@ static int armada_37xx_pmx_set_by_name(struct pinctrl_dev *pctldev, | |||
344 | dev_dbg(info->dev, "enable function %s group %s\n", | 332 | dev_dbg(info->dev, "enable function %s group %s\n", |
345 | name, grp->name); | 333 | name, grp->name); |
346 | 334 | ||
347 | func = armada_37xx_get_func_reg(grp, name); | 335 | func = match_string(grp->funcs, NB_FUNCS, name); |
348 | |||
349 | if (func < 0) | 336 | if (func < 0) |
350 | return func; | 337 | return -ENOTSUPP; |
351 | 338 | ||
352 | val = grp->val[func]; | 339 | val = grp->val[func]; |
353 | 340 | ||
@@ -932,12 +919,12 @@ static int armada_37xx_fill_func(struct armada_37xx_pinctrl *info) | |||
932 | struct armada_37xx_pin_group *gp = &info->groups[g]; | 919 | struct armada_37xx_pin_group *gp = &info->groups[g]; |
933 | int f; | 920 | int f; |
934 | 921 | ||
935 | for (f = 0; (f < NB_FUNCS) && gp->funcs[f]; f++) { | 922 | f = match_string(gp->funcs, NB_FUNCS, name); |
936 | if (strcmp(gp->funcs[f], name) == 0) { | 923 | if (f < 0) |
937 | *groups = gp->name; | 924 | continue; |
938 | groups++; | 925 | |
939 | } | 926 | *groups = gp->name; |
940 | } | 927 | groups++; |
941 | } | 928 | } |
942 | } | 929 | } |
943 | return 0; | 930 | return 0; |