From ffec693b52b413ea5efd408dec22792d236b8009 Mon Sep 17 00:00:00 2001 From: Dong Aisheng Date: Tue, 11 Jun 2019 12:03:07 +0800 Subject: MLK-21985-4 ASoC: imx-cs42888: fix build for next 20190607 upgrade MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit API change due to: adb76b5b9c47 ("ASoC: soc-core: remove legacy style dai_link") Caused below error: ../sound/soc/fsl/imx-cs42888.c:272:3: error: unknown field ‘codec_dai_name’ specified in initializer .codec_dai_name = "cs42888", ^ ../sound/soc/fsl/imx-cs42888.c:272:3: warning: initialization from incompatible pointer type ../sound/soc/fsl/imx-cs42888.c:272:3: warning: (near initialization for ‘imx_cs42888_dai[0].cpus’) ../sound/soc/fsl/imx-cs42888.c:279:3: error: unknown field ‘codec_name’ specified in initializer .codec_name = "snd-soc-dummy", ^ ../sound/soc/fsl/imx-cs42888.c:279:3: warning: initialization from incompatible pointer type ../sound/soc/fsl/imx-cs42888.c:279:3: warning: (near initialization for ‘imx_cs42888_dai[1].cpus’) ../sound/soc/fsl/imx-cs42888.c:280:3: error: unknown field ‘codec_dai_name’ specified in initializer .codec_dai_name = "snd-soc-dummy-dai", ^ ../sound/soc/fsl/imx-cs42888.c:280:3: warning: initialization makes integer from pointer without a cast ../sound/soc/fsl/imx-cs42888.c:280:3: warning: (near initialization for ‘imx_cs42888_dai[1].num_cpus’) ../sound/soc/fsl/imx-cs42888.c:280:3: error: initializer element is not computable at load time ../sound/soc/fsl/imx-cs42888.c:280:3: error: (near initialization for ‘imx_cs42888_dai[1].num_cpus’) ../sound/soc/fsl/imx-cs42888.c:290:3: error: unknown field ‘codec_dai_name’ specified in initializer .codec_dai_name = "cs42888", ^ ../sound/soc/fsl/imx-cs42888.c:290:3: warning: initialization from incompatible pointer type ../sound/soc/fsl/imx-cs42888.c:290:3: warning: (near initialization for ‘imx_cs42888_dai[2].cpus’) ../sound/soc/fsl/imx-cs42888.c:291:3: error: unknown field ‘platform_name’ specified in initializer .platform_name = "snd-soc-dummy", Signed-off-by: Dong Aisheng --- sound/soc/fsl/imx-cs42888.c | 49 ++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 18 deletions(-) (limited to 'sound/soc/fsl/imx-cs42888.c') diff --git a/sound/soc/fsl/imx-cs42888.c b/sound/soc/fsl/imx-cs42888.c index 6adf247531ce..2887fa06c15a 100644 --- a/sound/soc/fsl/imx-cs42888.c +++ b/sound/soc/fsl/imx-cs42888.c @@ -265,36 +265,49 @@ static int be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd, return 0; } +SND_SOC_DAILINK_DEFS(hifi, + DAILINK_COMP_ARRAY(COMP_EMPTY()), + DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "cs42888")), + DAILINK_COMP_ARRAY(COMP_EMPTY())); + +SND_SOC_DAILINK_DEFS(hifi_fe, + DAILINK_COMP_ARRAY(COMP_EMPTY()), + DAILINK_COMP_ARRAY(COMP_DUMMY()), + DAILINK_COMP_ARRAY(COMP_EMPTY())); + +SND_SOC_DAILINK_DEFS(hifi_be, + DAILINK_COMP_ARRAY(COMP_EMPTY()), + DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "cs42888")), + DAILINK_COMP_ARRAY(COMP_DUMMY())); + static struct snd_soc_dai_link imx_cs42888_dai[] = { { .name = "HiFi", .stream_name = "HiFi", - .codec_dai_name = "cs42888", .ops = &imx_cs42888_surround_ops, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(hifi), }, { .name = "HiFi-ASRC-FE", .stream_name = "HiFi-ASRC-FE", - .codec_name = "snd-soc-dummy", - .codec_dai_name = "snd-soc-dummy-dai", .dynamic = 1, .ignore_pmdown_time = 1, .dpcm_playback = 1, .dpcm_capture = 1, .dpcm_merged_chan = 1, + SND_SOC_DAILINK_REG(hifi_fe), }, { .name = "HiFi-ASRC-BE", .stream_name = "HiFi-ASRC-BE", - .codec_dai_name = "cs42888", - .platform_name = "snd-soc-dummy", .no_pcm = 1, .ignore_pmdown_time = 1, .dpcm_playback = 1, .dpcm_capture = 1, .ops = &imx_cs42888_surround_ops_be, .be_hw_params_fixup = be_hw_params_fixup, + SND_SOC_DAILINK_REG(hifi_be), }, }; @@ -386,8 +399,8 @@ static int imx_cs42888_probe(struct platform_device *pdev) } if (priv->is_codec_rpmsg) { - imx_cs42888_dai[0].codec_name = "rpmsg-audio-codec-cs42888"; - imx_cs42888_dai[0].codec_dai_name = "cs42888"; + imx_cs42888_dai[0].codecs->name = "rpmsg-audio-codec-cs42888"; + imx_cs42888_dai[0].codecs->dai_name = "cs42888"; dlc.name = "rpmsg-audio-codec-cs42888"; dlc.dai_name = "cs42888"; @@ -395,29 +408,29 @@ static int imx_cs42888_probe(struct platform_device *pdev) if (!codec_dai) return -ENODEV; } else { - imx_cs42888_dai[0].codec_of_node = codec_np; + imx_cs42888_dai[0].codecs->of_node = codec_np; } /*if there is no asrc controller, we only enable one device*/ if (!asrc_pdev) { - imx_cs42888_dai[0].cpu_dai_name = dev_name(&esai_pdev->dev); - imx_cs42888_dai[0].platform_of_node = esai_np; + imx_cs42888_dai[0].cpus->dai_name = dev_name(&esai_pdev->dev); + imx_cs42888_dai[0].platforms->of_node = esai_np; snd_soc_card_imx_cs42888.num_links = 1; snd_soc_card_imx_cs42888.num_dapm_routes = ARRAY_SIZE(audio_map) - 2; } else { - imx_cs42888_dai[0].cpu_dai_name = dev_name(&esai_pdev->dev); - imx_cs42888_dai[0].platform_of_node = esai_np; - imx_cs42888_dai[1].cpu_of_node = asrc_np; - imx_cs42888_dai[1].platform_of_node = asrc_np; - imx_cs42888_dai[2].cpu_dai_name = dev_name(&esai_pdev->dev); + imx_cs42888_dai[0].cpus->dai_name = dev_name(&esai_pdev->dev); + imx_cs42888_dai[0].platforms->of_node = esai_np; + imx_cs42888_dai[1].cpus->of_node = asrc_np; + imx_cs42888_dai[1].platforms->of_node = asrc_np; + imx_cs42888_dai[2].cpus->dai_name = dev_name(&esai_pdev->dev); snd_soc_card_imx_cs42888.num_links = 3; if (priv->is_codec_rpmsg) { - imx_cs42888_dai[2].codec_name = "rpmsg-audio-codec-cs42888"; - imx_cs42888_dai[2].codec_dai_name = "cs42888"; + imx_cs42888_dai[2].codecs->name = "rpmsg-audio-codec-cs42888"; + imx_cs42888_dai[2].codecs->dai_name = "cs42888"; } else { - imx_cs42888_dai[2].codec_of_node = codec_np; + imx_cs42888_dai[2].codecs->of_node = codec_np; } ret = of_property_read_u32(asrc_np, "fsl,asrc-rate", -- cgit v1.2.3