Commit 3026ef68 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: fsl: imx-sgtl5000: 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: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3219d9c7
...@@ -55,6 +55,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) ...@@ -55,6 +55,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
struct platform_device *ssi_pdev; struct platform_device *ssi_pdev;
struct i2c_client *codec_dev; struct i2c_client *codec_dev;
struct imx_sgtl5000_data *data = NULL; struct imx_sgtl5000_data *data = NULL;
struct snd_soc_dai_link_component *comp;
int int_port, ext_port; int int_port, ext_port;
int ret; int ret;
...@@ -122,6 +123,12 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) ...@@ -122,6 +123,12 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
goto fail; goto fail;
} }
comp = devm_kzalloc(&pdev->dev, 3 * sizeof(*comp), GFP_KERNEL);
if (!comp) {
ret = -ENOMEM;
goto fail;
}
data->codec_clk = clk_get(&codec_dev->dev, NULL); data->codec_clk = clk_get(&codec_dev->dev, NULL);
if (IS_ERR(data->codec_clk)) { if (IS_ERR(data->codec_clk)) {
ret = PTR_ERR(data->codec_clk); ret = PTR_ERR(data->codec_clk);
...@@ -130,12 +137,20 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) ...@@ -130,12 +137,20 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
data->clk_frequency = clk_get_rate(data->codec_clk); data->clk_frequency = clk_get_rate(data->codec_clk);
data->dai.cpus = &comp[0];
data->dai.codecs = &comp[1];
data->dai.platforms = &comp[2];
data->dai.num_cpus = 1;
data->dai.num_codecs = 1;
data->dai.num_platforms = 1;
data->dai.name = "HiFi"; data->dai.name = "HiFi";
data->dai.stream_name = "HiFi"; data->dai.stream_name = "HiFi";
data->dai.codec_dai_name = "sgtl5000"; data->dai.codecs->dai_name = "sgtl5000";
data->dai.codec_of_node = codec_np; data->dai.codecs->of_node = codec_np;
data->dai.cpu_of_node = ssi_np; data->dai.cpus->of_node = ssi_np;
data->dai.platform_of_node = ssi_np; data->dai.platforms->of_node = ssi_np;
data->dai.init = &imx_sgtl5000_dai_init; data->dai.init = &imx_sgtl5000_dai_init;
data->dai.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | data->dai.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
SND_SOC_DAIFMT_CBM_CFM; SND_SOC_DAIFMT_CBM_CFM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment