[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