| From 695ec77ddc6580a80c38097ab9d269cedd8a3386 Mon Sep 17 00:00:00 2001 |
| From: Xiubo Li <Li.Xiubo@freescale.com> |
| Date: Fri, 24 Jan 2014 15:43:02 +0800 |
| Subject: 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: Xiubo Li <Li.Xiubo@freescale.com> |
| Signed-off-by: Mark Brown <broonie@linaro.org> |
| (cherry picked from commit 2772555b6c5ba79783c04ea6c60549530d737e2e) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/generic/simple-card.c | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c |
| index 65833feb995f..0890fcdc9251 100644 |
| --- a/sound/soc/generic/simple-card.c |
| +++ b/sound/soc/generic/simple-card.c |
| @@ -143,6 +143,9 @@ static int asoc_simple_card_parse_of(struct device_node *node, |
| char *name; |
| 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 */ |
| priv->daifmt = snd_soc_of_parse_daifmt(node, "simple-audio-card,") & |
| (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, |
| GFP_KERNEL); |
| sprintf(name, "%s-%s", dai_link->cpu_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; |
| |
| /* simple-card assumes platform == cpu */ |
| -- |
| 2.1.2 |
| |