match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Cc: Liam Girdwood <lgirdw...@gmail.com>
Cc: Mark Brown <broo...@kernel.org>
Cc: Jaroslav Kysela <pe...@perex.cz>
Cc: Takashi Iwai <ti...@suse.com>
Cc: alsa-de...@alsa-project.org
Signed-off-by: Yisheng Xie <xieyishe...@huawei.com>
---
v2:
 - split ret=xxx and move assignment to the line before 'if'
 - fix error return value - both per Andy

 sound/soc/codecs/max98088.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/sound/soc/codecs/max98088.c b/sound/soc/codecs/max98088.c
index 865f64c..fb515aa 100644
--- a/sound/soc/codecs/max98088.c
+++ b/sound/soc/codecs/max98088.c
@@ -1382,15 +1382,12 @@ static int max98088_set_bias_level(struct 
snd_soc_component *component,
 
 static int max98088_get_channel(struct snd_soc_component *component, const 
char *name)
 {
-       int i;
+       int ret;
 
-       for (i = 0; i < ARRAY_SIZE(eq_mode_name); i++)
-               if (strcmp(name, eq_mode_name[i]) == 0)
-                       return i;
-
-       /* Shouldn't happen */
-       dev_err(component->dev, "Bad EQ channel name '%s'\n", name);
-       return -EINVAL;
+       ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name);
+       if (ret < 0)
+               dev_err(component->dev, "Bad EQ channel name '%s'\n", name);
+       return ret;
 }
 
 static void max98088_setup_eq1(struct snd_soc_component *component)
-- 
1.7.12.4

Reply via email to