diff options
| -rw-r--r-- | sound/soc/fsl/fsl_spdif.c | 14 |
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 | |||
| 1190 | error_component: | ||
| 1191 | snd_soc_unregister_component(&pdev->dev); | ||
| 1192 | 1185 | ||
| 1193 | return ret; | 1186 | return ret; |
| 1194 | } | 1187 | } |
| @@ -1196,7 +1189,6 @@ error_component: | |||
| 1196 | static int fsl_spdif_remove(struct platform_device *pdev) | 1189 | static 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 | } |
