提交 2772555b 编写于 作者: X Xiubo Li 提交者: Mark Brown

ASoC: simple-card: Add snd_card's name parsing from DT node support

If the DT is used and the CPU DAI device has only one DAI, the card
name will be like :

ALSA device list:
0: 40031000.sai-sgtl5000

And this name maybe a little ugly to some customers, so here the
card name parsing from DT node is supported.
Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: NMark Brown <broonie@linaro.org>
上级 30d0341e
...@@ -143,6 +143,9 @@ static int asoc_simple_card_parse_of(struct device_node *node, ...@@ -143,6 +143,9 @@ static int asoc_simple_card_parse_of(struct device_node *node,
char *name; char *name;
int ret; int ret;
/* parsing the card name from DT */
snd_soc_of_parse_card_name(&priv->snd_card, "simple-audio-card,name");
/* get CPU/CODEC common format via simple-audio-card,format */ /* get CPU/CODEC common format via simple-audio-card,format */
priv->daifmt = snd_soc_of_parse_daifmt(node, "simple-audio-card,") & priv->daifmt = snd_soc_of_parse_daifmt(node, "simple-audio-card,") &
(SND_SOC_DAIFMT_FORMAT_MASK | SND_SOC_DAIFMT_INV_MASK); (SND_SOC_DAIFMT_FORMAT_MASK | SND_SOC_DAIFMT_INV_MASK);
...@@ -187,7 +190,8 @@ static int asoc_simple_card_parse_of(struct device_node *node, ...@@ -187,7 +190,8 @@ static int asoc_simple_card_parse_of(struct device_node *node,
GFP_KERNEL); GFP_KERNEL);
sprintf(name, "%s-%s", dai_link->cpu_dai_name, sprintf(name, "%s-%s", dai_link->cpu_dai_name,
dai_link->codec_dai_name); dai_link->codec_dai_name);
priv->snd_card.name = name; if (!priv->snd_card.name)
priv->snd_card.name = name;
dai_link->name = dai_link->stream_name = name; dai_link->name = dai_link->stream_name = name;
/* simple-card assumes platform == cpu */ /* simple-card assumes platform == cpu */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册