[alsa-devel] [PATCH 3/6] ASoC: simple-card-utils: add asoc_simple_card_parse_dailink_name()

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Tue Jul 5 02:24:54 CEST 2016


Hi Mark

> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> 
> Current simple-card is creating dai_link->name / dai_link->stream_name.
> These are based on CPU + Codec name.
> It can be "fe.CPU" or "be.Codec" if it was DPCM.
> This patch adds simple card common function for it.
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> ---
(snip)
> diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c
> index 3f6b725..14d3a75 100644
> --- a/sound/soc/generic/simple-card-utils.c
> +++ b/sound/soc/generic/simple-card-utils.c
> @@ -52,3 +52,33 @@ int asoc_simple_card_parse_daifmt(struct device *dev,
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(asoc_simple_card_parse_daifmt);
> +
> +int asoc_simple_card_parse_dailink_name(struct device *dev,
> +					struct snd_soc_dai_link *dai_link)
> +{
> +	char *name = NULL;
> +	int ret = -ENOMEM;
> +
> +	if (dai_link->dynamic && dai_link->cpu_dai_name)
> +		name = devm_kasprintf(dev, GFP_KERNEL,
> +				      "fe.%s", dai_link->cpu_dai_name);
> +
> +	else if (dai_link->no_pcm && dai_link->codec_dai_name)
> +		name = devm_kasprintf(dev, GFP_KERNEL,
> +				      "be.%s", dai_link->codec_dai_name);
> +	else if (dai_link->cpu_dai_name && dai_link->codec_dai_name)
> +		name = devm_kasprintf(dev, GFP_KERNEL,
> +				      "%s-%s",
> +				      dai_link->cpu_dai_name,
> +				      dai_link->codec_dai_name);
> +
> +	if (name) {
> +		ret = 0;
> +
> +		dai_link->name =
> +		dai_link->stream_name = name;
> +	}
> +
> +	return ret;
> +}
> +EXPORT_SYMBOL_GPL(asoc_simple_card_parse_dailink_name);

Please let me know if your favored style is name format should be
handled on each sound card, not in utils.c
I can arrange it.


More information about the Alsa-devel mailing list