ASoC: rockchip: spdif: Convert to use devm_snd_dmaengine_pcm_register

Use resource managed API then we can remove snd_dmaengine_pcm_unregister()
and snd_soc_unregister_component() calls in .probe error path and .remove.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Axel Lin 2015-10-13 10:37:10 +08:00 коммит произвёл Mark Brown
Родитель f874b80e15
Коммит 2057020db3
1 изменённых файлов: 2 добавлений и 6 удалений

Просмотреть файл

@ -355,16 +355,14 @@ static int rk_spdif_probe(struct platform_device *pdev)
goto err_pm_runtime; goto err_pm_runtime;
} }
ret = snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0);
if (ret) { if (ret) {
dev_err(&pdev->dev, "Could not register PCM\n"); dev_err(&pdev->dev, "Could not register PCM\n");
goto err_pcm_register; goto err_pm_runtime;
} }
return 0; return 0;
err_pcm_register:
snd_dmaengine_pcm_unregister(&pdev->dev);
err_pm_runtime: err_pm_runtime:
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
@ -381,8 +379,6 @@ static int rk_spdif_remove(struct platform_device *pdev)
clk_disable_unprepare(spdif->mclk); clk_disable_unprepare(spdif->mclk);
clk_disable_unprepare(spdif->hclk); clk_disable_unprepare(spdif->hclk);
snd_dmaengine_pcm_unregister(&pdev->dev);
snd_soc_unregister_component(&pdev->dev);
return 0; return 0;
} }