mirror of https://gitee.com/openkylin/linux.git
ASoC: ti: omap-twl4030: 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
bc9dfc4cb1
commit
d6db366a41
|
@ -209,26 +209,30 @@ static int omap_twl4030_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Digital audio interface glue - connects codec <--> CPU */
|
/* Digital audio interface glue - connects codec <--> CPU */
|
||||||
|
SND_SOC_DAILINK_DEFS(hifi,
|
||||||
|
DAILINK_COMP_ARRAY(COMP_CPU("omap-mcbsp.2")),
|
||||||
|
DAILINK_COMP_ARRAY(COMP_CODEC("twl4030-codec", "twl4030-hifi")),
|
||||||
|
DAILINK_COMP_ARRAY(COMP_PLATFORM("omap-mcbsp.2")));
|
||||||
|
|
||||||
|
SND_SOC_DAILINK_DEFS(voice,
|
||||||
|
DAILINK_COMP_ARRAY(COMP_CPU("omap-mcbsp.3")),
|
||||||
|
DAILINK_COMP_ARRAY(COMP_CODEC("twl4030-codec", "twl4030-voice")),
|
||||||
|
DAILINK_COMP_ARRAY(COMP_PLATFORM("omap-mcbsp.3")));
|
||||||
|
|
||||||
static struct snd_soc_dai_link omap_twl4030_dai_links[] = {
|
static struct snd_soc_dai_link omap_twl4030_dai_links[] = {
|
||||||
{
|
{
|
||||||
.name = "TWL4030 HiFi",
|
.name = "TWL4030 HiFi",
|
||||||
.stream_name = "TWL4030 HiFi",
|
.stream_name = "TWL4030 HiFi",
|
||||||
.cpu_dai_name = "omap-mcbsp.2",
|
|
||||||
.codec_dai_name = "twl4030-hifi",
|
|
||||||
.platform_name = "omap-mcbsp.2",
|
|
||||||
.codec_name = "twl4030-codec",
|
|
||||||
.init = omap_twl4030_init,
|
.init = omap_twl4030_init,
|
||||||
.ops = &omap_twl4030_ops,
|
.ops = &omap_twl4030_ops,
|
||||||
|
SND_SOC_DAILINK_REG(hifi),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "TWL4030 Voice",
|
.name = "TWL4030 Voice",
|
||||||
.stream_name = "TWL4030 Voice",
|
.stream_name = "TWL4030 Voice",
|
||||||
.cpu_dai_name = "omap-mcbsp.3",
|
|
||||||
.codec_dai_name = "twl4030-voice",
|
|
||||||
.platform_name = "omap-mcbsp.3",
|
|
||||||
.codec_name = "twl4030-codec",
|
|
||||||
.dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
|
.dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
|
||||||
SND_SOC_DAIFMT_CBM_CFM,
|
SND_SOC_DAIFMT_CBM_CFM,
|
||||||
|
SND_SOC_DAILINK_REG(voice),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -272,21 +276,21 @@ static int omap_twl4030_probe(struct platform_device *pdev)
|
||||||
dev_err(&pdev->dev, "McBSP node is not provided\n");
|
dev_err(&pdev->dev, "McBSP node is not provided\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
omap_twl4030_dai_links[0].cpu_dai_name = NULL;
|
omap_twl4030_dai_links[0].cpus->dai_name = NULL;
|
||||||
omap_twl4030_dai_links[0].cpu_of_node = dai_node;
|
omap_twl4030_dai_links[0].cpus->of_node = dai_node;
|
||||||
|
|
||||||
omap_twl4030_dai_links[0].platform_name = NULL;
|
omap_twl4030_dai_links[0].platforms->name = NULL;
|
||||||
omap_twl4030_dai_links[0].platform_of_node = dai_node;
|
omap_twl4030_dai_links[0].platforms->of_node = dai_node;
|
||||||
|
|
||||||
dai_node = of_parse_phandle(node, "ti,mcbsp-voice", 0);
|
dai_node = of_parse_phandle(node, "ti,mcbsp-voice", 0);
|
||||||
if (!dai_node) {
|
if (!dai_node) {
|
||||||
card->num_links = 1;
|
card->num_links = 1;
|
||||||
} else {
|
} else {
|
||||||
omap_twl4030_dai_links[1].cpu_dai_name = NULL;
|
omap_twl4030_dai_links[1].cpus->dai_name = NULL;
|
||||||
omap_twl4030_dai_links[1].cpu_of_node = dai_node;
|
omap_twl4030_dai_links[1].cpus->of_node = dai_node;
|
||||||
|
|
||||||
omap_twl4030_dai_links[1].platform_name = NULL;
|
omap_twl4030_dai_links[1].platforms->name = NULL;
|
||||||
omap_twl4030_dai_links[1].platform_of_node = dai_node;
|
omap_twl4030_dai_links[1].platforms->of_node = dai_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
priv->jack_detect = of_get_named_gpio(node,
|
priv->jack_detect = of_get_named_gpio(node,
|
||||||
|
|
Loading…
Reference in New Issue