ASoC: fsl_ssi: convert to use devm_clk_get
authorRichard Zhao <richard.zhao@freescale.com>
Mon, 4 Jun 2012 01:42:53 +0000 (09:42 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 4 Jun 2012 10:23:51 +0000 (11:23 +0100)
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/fsl/fsl_ssi.c

index 4ed2afd47782cba1667cf109d3c63c6d501ba2a1..b10a427a80985285b7daac489ce0b9e114ae0ddb 100644 (file)
@@ -725,7 +725,7 @@ static int __devinit fsl_ssi_probe(struct platform_device *pdev)
                u32 dma_events[2];
                ssi_private->ssi_on_imx = true;
 
-               ssi_private->clk = clk_get(&pdev->dev, NULL);
+               ssi_private->clk = devm_clk_get(&pdev->dev, NULL);
                if (IS_ERR(ssi_private->clk)) {
                        ret = PTR_ERR(ssi_private->clk);
                        dev_err(&pdev->dev, "could not get clock: %d\n", ret);
@@ -842,10 +842,8 @@ error_dev:
        device_remove_file(&pdev->dev, dev_attr);
 
 error_clk:
-       if (ssi_private->ssi_on_imx) {
+       if (ssi_private->ssi_on_imx)
                clk_disable_unprepare(ssi_private->clk);
-               clk_put(ssi_private->clk);
-       }
 
 error_irq:
        free_irq(ssi_private->irq, ssi_private);
@@ -871,7 +869,6 @@ static int fsl_ssi_remove(struct platform_device *pdev)
        if (ssi_private->ssi_on_imx) {
                platform_device_unregister(ssi_private->imx_pcm_pdev);
                clk_disable_unprepare(ssi_private->clk);
-               clk_put(ssi_private->clk);
        }
        snd_soc_unregister_dai(&pdev->dev);
        device_remove_file(&pdev->dev, &ssi_private->dev_attr);