aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2013-09-17 00:43:49 -0400
committerMark Brown <broonie@linaro.org>2013-09-19 09:57:37 -0400
commit256218ae65d2e59ef5d257355791a62af7d31b3c (patch)
treea031eb75e13aa57f55c46e098c7ad6ab9b685b38 /sound/soc/fsl
parent67a48b8181b0c981c59acf06f056e00184d3debd (diff)
ASoC: fsl_spdif: Use devm_snd_soc_register_component
devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/fsl')
-rw-r--r--sound/soc/fsl/fsl_spdif.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c
index 3920c3e849ce..44378e6e2696 100644
--- a/sound/soc/fsl/fsl_spdif.c
+++ b/sound/soc/fsl/fsl_spdif.c
@@ -1172,23 +1172,16 @@ static int fsl_spdif_probe(struct platform_device *pdev)
1172 /* Register with ASoC */ 1172 /* Register with ASoC */
1173 dev_set_drvdata(&pdev->dev, spdif_priv); 1173 dev_set_drvdata(&pdev->dev, spdif_priv);
1174 1174
1175 ret = snd_soc_register_component(&pdev->dev, &fsl_spdif_component, 1175 ret = devm_snd_soc_register_component(&pdev->dev, &fsl_spdif_component,
1176 &spdif_priv->cpu_dai_drv, 1); 1176 &spdif_priv->cpu_dai_drv, 1);
1177 if (ret) { 1177 if (ret) {
1178 dev_err(&pdev->dev, "failed to register DAI: %d\n", ret); 1178 dev_err(&pdev->dev, "failed to register DAI: %d\n", ret);
1179 return ret; 1179 return ret;
1180 } 1180 }
1181 1181
1182 ret = imx_pcm_dma_init(pdev); 1182 ret = imx_pcm_dma_init(pdev);
1183 if (ret) { 1183 if (ret)
1184 dev_err(&pdev->dev, "imx_pcm_dma_init failed: %d\n", ret); 1184 dev_err(&pdev->dev, "imx_pcm_dma_init failed: %d\n", ret);
1185 goto error_component;
1186 }
1187
1188 return ret;
1189
1190error_component:
1191 snd_soc_unregister_component(&pdev->dev);
1192 1185
1193 return ret; 1186 return ret;
1194} 1187}
@@ -1196,7 +1189,6 @@ error_component:
1196static int fsl_spdif_remove(struct platform_device *pdev) 1189static int fsl_spdif_remove(struct platform_device *pdev)
1197{ 1190{
1198 imx_pcm_dma_exit(pdev); 1191 imx_pcm_dma_exit(pdev);
1199 snd_soc_unregister_component(&pdev->dev);
1200 1192
1201 return 0; 1193 return 0;
1202} 1194}