Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2bf9d4bb authored by Shawn Guo's avatar Shawn Guo Committed by Mark Brown
Browse files

ASoC: fsl: remove use of imx-fiq-pcm-audio from imx-ssi



Rather than instantiating imx-fiq-pcm-audio to call imx_pcm_fiq_init(),
imx-ssi can just directly call it to save the use of imx-fiq-pcm-audio.
With this change, imx-ssi becomes not only a cpu DAI but also a platform
device, so updates platform device setup in eukrea-tlv320, phycore-ac97
and wm1133-ev1 accordingly.

Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 88e89f55
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ static struct snd_soc_dai_link eukrea_tlv320_dai = {
	.name		= "tlv320aic23",
	.stream_name	= "TLV320AIC23",
	.codec_dai_name	= "tlv320aic23-hifi",
	.platform_name	= "imx-fiq-pcm-audio.0",
	.platform_name	= "imx-ssi.0",
	.codec_name	= "tlv320aic23-codec.0-001a",
	.cpu_dai_name	= "imx-ssi.0",
	.ops		= &eukrea_tlv320_snd_ops,
+6 −17
Original line number Diff line number Diff line
@@ -595,18 +595,9 @@ static int imx_ssi_probe(struct platform_device *pdev)
		goto failed_register;
	}

	ssi->soc_platform_pdev_fiq = platform_device_alloc("imx-fiq-pcm-audio", pdev->id);
	if (!ssi->soc_platform_pdev_fiq) {
		ret = -ENOMEM;
		goto failed_pdev_fiq_alloc;
	}

	platform_set_drvdata(ssi->soc_platform_pdev_fiq, ssi);
	ret = platform_device_add(ssi->soc_platform_pdev_fiq);
	if (ret) {
		dev_err(&pdev->dev, "failed to add platform device\n");
		goto failed_pdev_fiq_add;
	}
	ret = imx_pcm_fiq_init(pdev);
	if (ret)
		goto failed_pcm_fiq;

	ret = imx_pcm_dma_init(pdev);
	if (ret)
@@ -615,10 +606,8 @@ static int imx_ssi_probe(struct platform_device *pdev)
	return 0;

failed_pcm_dma:
	platform_device_del(ssi->soc_platform_pdev_fiq);
failed_pdev_fiq_add:
	platform_device_put(ssi->soc_platform_pdev_fiq);
failed_pdev_fiq_alloc:
	imx_pcm_fiq_exit(pdev);
failed_pcm_fiq:
	snd_soc_unregister_component(&pdev->dev);
failed_register:
	release_mem_region(res->start, resource_size(res));
@@ -635,7 +624,7 @@ static int imx_ssi_remove(struct platform_device *pdev)
	struct imx_ssi *ssi = platform_get_drvdata(pdev);

	imx_pcm_dma_exit(pdev);
	platform_device_unregister(ssi->soc_platform_pdev_fiq);
	imx_pcm_fiq_exit(pdev);

	snd_soc_unregister_component(&pdev->dev);

+0 −2
Original line number Diff line number Diff line
@@ -211,8 +211,6 @@ struct imx_ssi {
	struct imx_dma_data filter_data_rx;

	int enabled;

	struct platform_device *soc_platform_pdev_fiq;
};

#endif /* _IMX_SSI_H */
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ static struct snd_soc_dai_link imx_phycore_dai_ac97[] = {
		.codec_dai_name		= "wm9712-hifi",
		.codec_name	= "wm9712-codec",
		.cpu_dai_name	= "imx-ssi.0",
		.platform_name	= "imx-fiq-pcm-audio.0",
		.platform_name	= "imx-ssi.0",
		.ops		= &imx_phycore_hifi_ops,
	},
};
+1 −1
Original line number Diff line number Diff line
@@ -245,7 +245,7 @@ static struct snd_soc_dai_link wm1133_ev1_dai = {
	.stream_name = "Audio",
	.cpu_dai_name = "imx-ssi.0",
	.codec_dai_name = "wm8350-hifi",
	.platform_name = "imx-fiq-pcm-audio.0",
	.platform_name = "imx-ssi.0",
	.codec_name = "wm8350-codec.0-0x1a",
	.init = wm1133_ev1_init,
	.ops = &wm1133_ev1_ops,