ASoC: davinci-mcasp: Convert to use devm_snd_soc_register_component()
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Tue, 22 Apr 2014 11:03:13 +0000 (14:03 +0300)
committerMark Brown <broonie@linaro.org>
Tue, 22 Apr 2014 11:51:22 +0000 (12:51 +0100)
It allows to remove code from the cleanup paths.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/davinci/davinci-mcasp.c

index 44a03840f76c9929243452cae922576ba0c612eb..14058dc6eaf8a94194226cfe415fd221e1b43ff4 100644 (file)
@@ -1134,7 +1134,7 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
        if (!mcasp->base) {
                dev_err(&pdev->dev, "ioremap failed\n");
                ret = -ENOMEM;
-               goto err_release_clk;
+               goto err;
        }
 
        mcasp->op_mode = pdata->op_mode;
@@ -1215,11 +1215,12 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 
        mcasp_reparent_fck(pdev);
 
-       ret = snd_soc_register_component(&pdev->dev, &davinci_mcasp_component,
-                                        &davinci_mcasp_dai[pdata->op_mode], 1);
+       ret = devm_snd_soc_register_component(&pdev->dev,
+                                       &davinci_mcasp_component,
+                                       &davinci_mcasp_dai[pdata->op_mode], 1);
 
        if (ret != 0)
-               goto err_release_clk;
+               goto err;
 
        switch (mcasp->version) {
        case MCASP_VERSION_1:
@@ -1239,14 +1240,12 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 
        if (ret) {
                dev_err(&pdev->dev, "register PCM failed: %d\n", ret);
-               goto err_unregister_component;
+               goto err;
        }
 
        return 0;
 
-err_unregister_component:
-       snd_soc_unregister_component(&pdev->dev);
-err_release_clk:
+err:
        pm_runtime_put_sync(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
        return ret;
@@ -1254,8 +1253,6 @@ err_release_clk:
 
 static int davinci_mcasp_remove(struct platform_device *pdev)
 {
-       snd_soc_unregister_component(&pdev->dev);
-
        pm_runtime_put_sync(&pdev->dev);
        pm_runtime_disable(&pdev->dev);