mirror of https://gitee.com/openkylin/linux.git
ASoC: samsung: tm2_wm5110: use modern dai_link style
ASoC is now supporting modern style dai_link (= snd_soc_dai_link_component) for CPU/Codec/Platform. This patch switches to use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
19bca225e7
commit
f1d26f2b94
|
@ -427,38 +427,56 @@ static struct snd_soc_dai_driver tm2_ext_dai[] = {
|
|||
},
|
||||
};
|
||||
|
||||
SND_SOC_DAILINK_DEFS(aif1,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif1")),
|
||||
DAILINK_COMP_ARRAY(COMP_EMPTY()));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(voice,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif2")),
|
||||
DAILINK_COMP_ARRAY(COMP_EMPTY()));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(bt,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif3")),
|
||||
DAILINK_COMP_ARRAY(COMP_EMPTY()));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(hdmi,
|
||||
DAILINK_COMP_ARRAY(COMP_EMPTY()),
|
||||
DAILINK_COMP_ARRAY(COMP_EMPTY()),
|
||||
DAILINK_COMP_ARRAY(COMP_EMPTY()));
|
||||
|
||||
static struct snd_soc_dai_link tm2_dai_links[] = {
|
||||
{
|
||||
.name = "WM5110 AIF1",
|
||||
.stream_name = "HiFi Primary",
|
||||
.cpu_dai_name = SAMSUNG_I2S_DAI,
|
||||
.codec_dai_name = "wm5110-aif1",
|
||||
.ops = &tm2_aif1_ops,
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBM_CFM,
|
||||
SND_SOC_DAILINK_REG(aif1),
|
||||
}, {
|
||||
.name = "WM5110 Voice",
|
||||
.stream_name = "Voice call",
|
||||
.cpu_dai_name = SAMSUNG_I2S_DAI,
|
||||
.codec_dai_name = "wm5110-aif2",
|
||||
.ops = &tm2_aif2_ops,
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBM_CFM,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(voice),
|
||||
}, {
|
||||
.name = "WM5110 BT",
|
||||
.stream_name = "Bluetooth",
|
||||
.cpu_dai_name = SAMSUNG_I2S_DAI,
|
||||
.codec_dai_name = "wm5110-aif3",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBM_CFM,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(bt),
|
||||
}, {
|
||||
.name = "HDMI",
|
||||
.stream_name = "i2s1",
|
||||
.ops = &tm2_hdmi_ops,
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
SND_SOC_DAILINK_REG(hdmi),
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -557,15 +575,15 @@ static int tm2_probe(struct platform_device *pdev)
|
|||
for_each_card_prelinks(card, i, dai_link) {
|
||||
unsigned int dai_index = 0; /* WM5110 */
|
||||
|
||||
dai_link->cpu_name = NULL;
|
||||
dai_link->platform_name = NULL;
|
||||
dai_link->cpus->name = NULL;
|
||||
dai_link->platforms->name = NULL;
|
||||
|
||||
if (num_codecs > 1 && i == card->num_links - 1)
|
||||
dai_index = 1; /* HDMI */
|
||||
|
||||
dai_link->codec_of_node = codec_dai_node[dai_index];
|
||||
dai_link->cpu_of_node = cpu_dai_node[dai_index];
|
||||
dai_link->platform_of_node = cpu_dai_node[dai_index];
|
||||
dai_link->codecs->of_node = codec_dai_node[dai_index];
|
||||
dai_link->cpus->of_node = cpu_dai_node[dai_index];
|
||||
dai_link->platforms->of_node = cpu_dai_node[dai_index];
|
||||
}
|
||||
|
||||
if (num_codecs > 1) {
|
||||
|
@ -579,7 +597,7 @@ static int tm2_probe(struct platform_device *pdev)
|
|||
goto dai_node_put;
|
||||
}
|
||||
|
||||
ret = snd_soc_get_dai_name(&args, &card->dai_link[i].codec_dai_name);
|
||||
ret = snd_soc_get_dai_name(&args, &card->dai_link[i].codecs->dai_name);
|
||||
if (ret) {
|
||||
dev_err(dev, "Unable to get codec_dai_name\n");
|
||||
goto dai_node_put;
|
||||
|
|
Loading…
Reference in New Issue