Re: [PATCH 31/33] ASoC: max98088: use match_string() helper
On Tue, May 22, 2018 at 3:30 PM, Yisheng Xiewrote: > hmm, you mean something like: > > int ret; > > ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); > if (ret < 0) /* Shouldn't happen */ > dev_err(component->dev, "Bad EQ channel name '%s'\n", name); > return ret; Yes. (But remove that useless comment). -- With Best Regards, Andy Shevchenko
Re: [PATCH 31/33] ASoC: max98088: use match_string() helper
On Tue, May 22, 2018 at 3:30 PM, Yisheng Xie wrote: > hmm, you mean something like: > > int ret; > > ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); > if (ret < 0) /* Shouldn't happen */ > dev_err(component->dev, "Bad EQ channel name '%s'\n", name); > return ret; Yes. (But remove that useless comment). -- With Best Regards, Andy Shevchenko
Re: [PATCH 31/33] ASoC: max98088: use match_string() helper
Hi Andy, On 2018/5/22 6:24, Andy Shevchenko wrote: > On Mon, May 21, 2018 at 2:58 PM, Yisheng Xiewrote: >> match_string() returns the index of an array for a matching string, >> which can be used intead of open coded variant. > >> static int max98088_get_channel(struct snd_soc_component *component, const >> char *name) >> { > >> + int ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); > I would rather split this and move an assignment to the line before 'if' hmm, you mean something like: int ret; ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); if (ret < 0) /* Shouldn't happen */ dev_err(component->dev, "Bad EQ channel name '%s'\n", name); return ret; >> >> /* Shouldn't happen */ > >> + if (ret < 0) >> + dev_err(component->dev, "Bad EQ channel name '%s'\n", name); > >> return -EINVAL; > > return ret; Right, sorry for this big mistake. Thanks Yisheng > > ? > >> } >> >> -- >> 1.7.12.4 >> > > >
Re: [PATCH 31/33] ASoC: max98088: use match_string() helper
Hi Andy, On 2018/5/22 6:24, Andy Shevchenko wrote: > On Mon, May 21, 2018 at 2:58 PM, Yisheng Xie wrote: >> match_string() returns the index of an array for a matching string, >> which can be used intead of open coded variant. > >> static int max98088_get_channel(struct snd_soc_component *component, const >> char *name) >> { > >> + int ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); > I would rather split this and move an assignment to the line before 'if' hmm, you mean something like: int ret; ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); if (ret < 0) /* Shouldn't happen */ dev_err(component->dev, "Bad EQ channel name '%s'\n", name); return ret; >> >> /* Shouldn't happen */ > >> + if (ret < 0) >> + dev_err(component->dev, "Bad EQ channel name '%s'\n", name); > >> return -EINVAL; > > return ret; Right, sorry for this big mistake. Thanks Yisheng > > ? > >> } >> >> -- >> 1.7.12.4 >> > > >
Re: [PATCH 31/33] ASoC: max98088: use match_string() helper
On Mon, May 21, 2018 at 2:58 PM, Yisheng Xiewrote: > match_string() returns the index of an array for a matching string, > which can be used intead of open coded variant. > static int max98088_get_channel(struct snd_soc_component *component, const > char *name) > { > + int ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); I would rather split this and move an assignment to the line before 'if' > > /* Shouldn't happen */ > + if (ret < 0) > + dev_err(component->dev, "Bad EQ channel name '%s'\n", name); > return -EINVAL; return ret; ? > } > > -- > 1.7.12.4 > -- With Best Regards, Andy Shevchenko
Re: [PATCH 31/33] ASoC: max98088: use match_string() helper
On Mon, May 21, 2018 at 2:58 PM, Yisheng Xie wrote: > match_string() returns the index of an array for a matching string, > which can be used intead of open coded variant. > static int max98088_get_channel(struct snd_soc_component *component, const > char *name) > { > + int ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); I would rather split this and move an assignment to the line before 'if' > > /* Shouldn't happen */ > + if (ret < 0) > + dev_err(component->dev, "Bad EQ channel name '%s'\n", name); > return -EINVAL; return ret; ? > } > > -- > 1.7.12.4 > -- With Best Regards, Andy Shevchenko
[PATCH 31/33] ASoC: max98088: use match_string() helper
match_string() returns the index of an array for a matching string, which can be used intead of open coded variant. Cc: Liam GirdwoodCc: Mark Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: alsa-de...@alsa-project.org Signed-off-by: Yisheng Xie --- sound/soc/codecs/max98088.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sound/soc/codecs/max98088.c b/sound/soc/codecs/max98088.c index 865f64c..7383f90 100644 --- a/sound/soc/codecs/max98088.c +++ b/sound/soc/codecs/max98088.c @@ -1382,14 +1382,11 @@ 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; - - for (i = 0; i < ARRAY_SIZE(eq_mode_name); i++) - if (strcmp(name, eq_mode_name[i]) == 0) - return i; + int ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); /* Shouldn't happen */ - dev_err(component->dev, "Bad EQ channel name '%s'\n", name); + if (ret < 0) + dev_err(component->dev, "Bad EQ channel name '%s'\n", name); return -EINVAL; } -- 1.7.12.4
[PATCH 31/33] ASoC: max98088: use match_string() helper
match_string() returns the index of an array for a matching string, which can be used intead of open coded variant. Cc: Liam Girdwood Cc: Mark Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: alsa-de...@alsa-project.org Signed-off-by: Yisheng Xie --- sound/soc/codecs/max98088.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sound/soc/codecs/max98088.c b/sound/soc/codecs/max98088.c index 865f64c..7383f90 100644 --- a/sound/soc/codecs/max98088.c +++ b/sound/soc/codecs/max98088.c @@ -1382,14 +1382,11 @@ 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; - - for (i = 0; i < ARRAY_SIZE(eq_mode_name); i++) - if (strcmp(name, eq_mode_name[i]) == 0) - return i; + int ret = match_string(eq_mode_name, ARRAY_SIZE(eq_mode_name), name); /* Shouldn't happen */ - dev_err(component->dev, "Bad EQ channel name '%s'\n", name); + if (ret < 0) + dev_err(component->dev, "Bad EQ channel name '%s'\n", name); return -EINVAL; } -- 1.7.12.4