diff mbox

[resend,v5,05/10] ASoC: simple-card-utils: enable "label" on asoc_simple_card_parse_card_name

Message ID 874lxnvqcm.wl%kuninori.morimoto.gx@renesas.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kuninori Morimoto April 17, 2017, 12:22 a.m. UTC
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

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@renesas.com>
---
v4 -> v5

 - don't exchange simle-xxx-card side

 sound/soc/generic/simple-card-utils.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

Comments

Rob Herring April 17, 2017, 1:21 p.m. UTC | #1
On Sun, Apr 16, 2017 at 7:22 PM, Kuninori Morimoto
<kuninori.morimoto.gx@renesas.com> wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>
> 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@renesas.com>
> ---
> v4 -> v5
>
>  - don't exchange simle-xxx-card side
>
>  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 4924575..4dfd9a2 100644
> --- a/sound/soc/generic/simple-card-utils.c
> +++ b/sound/soc/generic/simple-card-utils.c
> @@ -82,14 +82,24 @@ int asoc_simple_card_parse_card_name(struct snd_soc_card *card,
>                                      char *prefix)
>  {
>         char prop[128];
> +       char *names[] = {
> +               "label", "name"
> +       };
> +       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]);

"<prefix>label" is not a valid property name.

> +               ret = snd_soc_of_parse_card_name(card, prop);
> +               if (ret < 0)
> +                       return ret;
> +               if (card->name)
> +                       break;
> +       }
>
>         if (!card->name && card->dai_link)
>                 card->name = card->dai_link->name;
> --
> 1.9.1
>
Kuninori Morimoto April 17, 2017, 11:58 p.m. UTC | #2
Hi Rob

> > @@ -82,14 +82,24 @@ int asoc_simple_card_parse_card_name(struct snd_soc_card *card,
> >                                      char *prefix)
> >  {
> >         char prop[128];
> > +       char *names[] = {
> > +               "label", "name"
> > +       };
> > +       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]);
> 
> "<prefix>label" is not a valid property name.

This function will be used from many drivers.
Not only for OF-graph sound card.
OF-graph sound card will use it without prefix.

Best regards
---
Kuninori Morimoto
diff mbox

Patch

diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c
index 4924575..4dfd9a2 100644
--- a/sound/soc/generic/simple-card-utils.c
+++ b/sound/soc/generic/simple-card-utils.c
@@ -82,14 +82,24 @@  int asoc_simple_card_parse_card_name(struct snd_soc_card *card,
 				     char *prefix)
 {
 	char prop[128];
+	char *names[] = {
+		"label", "name"
+	};
+	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;
+	}
 
 	if (!card->name && card->dai_link)
 		card->name = card->dai_link->name;