ASoC: rsrc-card: use asoc_simple_card_parse_dailink_name()

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Kuninori Morimoto 2016-07-11 23:58:25 +00:00 committed by Mark Brown
parent 0efd724809
commit 8a99a6bd7f

View File

@ -47,7 +47,6 @@ static const struct of_device_id rsrc_card_of_match[] = {
}; };
MODULE_DEVICE_TABLE(of, rsrc_card_of_match); MODULE_DEVICE_TABLE(of, rsrc_card_of_match);
#define DAI_NAME_NUM 32
struct rsrc_card_dai { struct rsrc_card_dai {
unsigned int sysclk; unsigned int sysclk;
unsigned int tx_slot_mask; unsigned int tx_slot_mask;
@ -55,7 +54,6 @@ struct rsrc_card_dai {
int slots; int slots;
int slot_width; int slot_width;
struct clk *clk; struct clk *clk;
char dai_name[DAI_NAME_NUM];
}; };
#define IDX_CPU 0 #define IDX_CPU 0
@ -163,6 +161,7 @@ static int rsrc_card_parse_links(struct device_node *np,
struct rsrc_card_priv *priv, struct rsrc_card_priv *priv,
int idx, bool is_fe) int idx, bool is_fe)
{ {
struct device *dev = rsrc_priv_to_dev(priv);
struct snd_soc_dai_link *dai_link = rsrc_priv_to_link(priv, idx); struct snd_soc_dai_link *dai_link = rsrc_priv_to_link(priv, idx);
struct rsrc_card_dai *dai_props = rsrc_priv_to_props(priv, idx); struct rsrc_card_dai *dai_props = rsrc_priv_to_props(priv, idx);
struct of_phandle_args args; struct of_phandle_args args;
@ -200,9 +199,11 @@ static int rsrc_card_parse_links(struct device_node *np,
if (ret < 0) if (ret < 0)
return ret; return ret;
/* set dai_name */ ret = asoc_simple_card_set_dailink_name(dev, dai_link,
snprintf(dai_props->dai_name, DAI_NAME_NUM, "fe.%s", "fe.%s",
dai_link->cpu_dai_name); dai_link->cpu_dai_name);
if (ret < 0)
return ret;
/* /*
* In soc_bind_dai_link() will check cpu name after * In soc_bind_dai_link() will check cpu name after
@ -216,7 +217,6 @@ static int rsrc_card_parse_links(struct device_node *np,
if (!args.args_count) if (!args.args_count)
dai_link->cpu_dai_name = NULL; dai_link->cpu_dai_name = NULL;
} else { } else {
struct device *dev = rsrc_priv_to_dev(priv);
const struct rsrc_card_of_data *of_data; const struct rsrc_card_of_data *of_data;
of_data = of_device_get_match_data(dev); of_data = of_device_get_match_data(dev);
@ -234,6 +234,12 @@ static int rsrc_card_parse_links(struct device_node *np,
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = asoc_simple_card_set_dailink_name(dev, dai_link,
"be.%s",
dai_link->codec_dai_name);
if (ret < 0)
return ret;
/* additional name prefix */ /* additional name prefix */
if (of_data) { if (of_data) {
priv->codec_conf.of_node = dai_link->codec_of_node; priv->codec_conf.of_node = dai_link->codec_of_node;
@ -244,18 +250,12 @@ static int rsrc_card_parse_links(struct device_node *np,
dai_link->codec_of_node, dai_link->codec_of_node,
"audio-prefix"); "audio-prefix");
} }
/* set dai_name */
snprintf(dai_props->dai_name, DAI_NAME_NUM, "be.%s",
dai_link->codec_dai_name);
} }
/* Simple Card assumes platform == cpu */ /* Simple Card assumes platform == cpu */
dai_link->platform_of_node = dai_link->cpu_of_node; dai_link->platform_of_node = dai_link->cpu_of_node;
dai_link->dpcm_playback = 1; dai_link->dpcm_playback = 1;
dai_link->dpcm_capture = 1; dai_link->dpcm_capture = 1;
dai_link->name = dai_props->dai_name;
dai_link->stream_name = dai_props->dai_name;
dai_link->ops = &rsrc_card_ops; dai_link->ops = &rsrc_card_ops;
dai_link->init = rsrc_card_dai_init; dai_link->init = rsrc_card_dai_init;
@ -316,7 +316,7 @@ static int rsrc_card_dai_sub_link_of(struct device_node *node,
return ret; return ret;
dev_dbg(dev, "\t%s / %04x / %d\n", dev_dbg(dev, "\t%s / %04x / %d\n",
dai_props->dai_name, dai_link->name,
dai_link->dai_fmt, dai_link->dai_fmt,
dai_props->sysclk); dai_props->sysclk);