On Mon, Apr 17, 2017 at 9:44 PM, Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> wrote: > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > Current asoc_simple_card_parse_card_name() detect [prefix]name, > but in generally, we uses "label" for user visible names. > This patch enables [prefix]label too. > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > --- > v5 -> v6 > > - used const for names[] > > sound/soc/generic/simple-card-utils.c | 18 ++++++++++++++---- > 1 file changed, 14 insertions(+), 4 deletions(-) > > diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c > index 343b291..94ceaca 100644 > --- a/sound/soc/generic/simple-card-utils.c > +++ b/sound/soc/generic/simple-card-utils.c > @@ -81,15 +81,25 @@ int asoc_simple_card_set_dailink_name(struct device *dev, > int asoc_simple_card_parse_card_name(struct snd_soc_card *card, > char *prefix) > { > + char * const names[] = { > + "label", "name" > + }; > char prop[128]; > + int i; > int ret; > > - snprintf(prop, sizeof(prop), "%sname", prefix); > + if (!prefix) > + prefix = ""; > > /* Parse the card name from DT */ > - ret = snd_soc_of_parse_card_name(card, prop); > - if (ret < 0) > - return ret; > + for (i = 0; i < ARRAY_SIZE(names); i++) { > + snprintf(prop, sizeof(prop), "%s%s", prefix, names[i]); > + ret = snd_soc_of_parse_card_name(card, prop); > + if (ret < 0) > + return ret; > + if (card->name) > + break; > + } This is still wrong as you are allowing "<prefix>label" for property names. I think you want something like this: ret = snd_soc_of_parse_card_name(card, "label"); if (ret < 0) { char prop[128]; snprintf(prop, sizeof(prop), "%sname", prefix); /* Parse the card name from DT */ ret = snd_soc_of_parse_card_name(card, prop); if (ret < 0) return ret; } _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel