match_string() returns the index of an array for a matching string, which can be used instead of open coded variant.
Cc: Liam Girdwood lgirdwood@gmail.com Cc: Mark Brown broonie@kernel.org Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: alsa-devel@alsa-project.org Signed-off-by: Yisheng Xie xieyisheng1@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)