summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2015-06-15 06:21:34 +0000
committerMark Brown <broonie@kernel.org>2015-06-16 12:34:01 +0100
commitd72f4a885e9c310e58f9a07ee17516e8328d224d (patch)
tree8f8ed0a2ed885d53a5b79c3181edb1d588c6997c /sound
parent75defee0f1b3fcd91d8a304d6444635a459b8249 (diff)
ASoC: rsrc-card: used "fe.xxx"/"be.xxx" name for dai_link
Current dai_link name is using "cpu_dai_name + codec_dai_name", but one of them is always "snd-soc-dummy-dai" when DPCM. This patch uses "fe.xxx" for cpu, "be.xxx" for codec. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Tested-by: Keita Kobayashi <keita.kobayashi.ym@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/sh/rcar/rsrc-card.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/sound/soc/sh/rcar/rsrc-card.c b/sound/soc/sh/rcar/rsrc-card.c
index 050b0dbcee65..9a1926f8d348 100644
--- a/sound/soc/sh/rcar/rsrc-card.c
+++ b/sound/soc/sh/rcar/rsrc-card.c
@@ -55,11 +55,13 @@ struct rsrc_card_dai {
#define RSRC_FB_NUM 2 /* FE/BE */
#define IDX_CPU 0
#define IDX_CODEC 1
+#define DAI_NAME_NUM 32
struct rsrc_card_priv {
struct snd_soc_card snd_card;
struct rsrc_card_dai_props {
struct rsrc_card_dai cpu_dai;
struct rsrc_card_dai codec_dai;
+ char dai_name[DAI_NAME_NUM];
} dai_props[RSRC_FB_NUM];
struct snd_soc_codec_conf codec_conf;
struct snd_soc_dai_link dai_link[RSRC_FB_NUM];
@@ -309,7 +311,7 @@ static int rsrc_card_dai_link_of(struct device_node *node,
struct rsrc_card_dai_props *dai_props = rsrc_priv_to_props(priv, idx);
struct device_node *cpu = NULL;
struct device_node *codec = NULL;
- char *name;
+ char *name = dai_props->dai_name;
char prop[128];
int ret, cpu_args;
@@ -348,18 +350,10 @@ static int rsrc_card_dai_link_of(struct device_node *node,
/* Simple Card assumes platform == cpu */
dai_link->platform_of_node = dai_link->cpu_of_node;
- /* DAI link name is created from CPU/CODEC dai name */
- name = devm_kzalloc(dev,
- strlen(dai_link->cpu_dai_name) +
- strlen(dai_link->codec_dai_name) + 2,
- GFP_KERNEL);
- if (!name) {
- ret = -ENOMEM;
- goto dai_link_of_err;
- }
-
- sprintf(name, "%s-%s", dai_link->cpu_dai_name,
- dai_link->codec_dai_name);
+ snprintf(name, DAI_NAME_NUM, "%s.%s",
+ dai_link->dynamic ? "fe" : "be",
+ dai_link->dynamic ? dai_link->cpu_dai_name :
+ dai_link->codec_dai_name);
dai_link->name = dai_link->stream_name = name;
dai_link->ops = &rsrc_card_ops;
dai_link->init = rsrc_card_dai_init;