]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mmc: omap_hsmmc: use devm_clk_get
authorBalaji T K <balajitk@ti.com>
Fri, 9 May 2014 16:46:48 +0000 (22:16 +0530)
committerChris Ball <chris@printf.net>
Thu, 22 May 2014 12:40:41 +0000 (08:40 -0400)
With devm_clk_get conversion clk_put can be removed in clean up path

Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/host/omap_hsmmc.c

index b4de63bf10fdfde09e374f90e06923616352e0c2..b8ae7ee0f3af409e752a4ec4ed642e18207da140 100644 (file)
@@ -1922,7 +1922,7 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
 
        spin_lock_init(&host->irq_lock);
 
-       host->fclk = clk_get(&pdev->dev, "fck");
+       host->fclk = devm_clk_get(&pdev->dev, "fck");
        if (IS_ERR(host->fclk)) {
                ret = PTR_ERR(host->fclk);
                host->fclk = NULL;
@@ -1941,7 +1941,7 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
 
        omap_hsmmc_context_save(host);
 
-       host->dbclk = clk_get(&pdev->dev, "mmchsdb_fck");
+       host->dbclk = devm_clk_get(&pdev->dev, "mmchsdb_fck");
        /*
         * MMC can still work without debounce clock.
         */
@@ -1949,7 +1949,6 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
                host->dbclk = NULL;
        } else if (clk_prepare_enable(host->dbclk) != 0) {
                dev_warn(mmc_dev(host->mmc), "Failed to enable debounce clk\n");
-               clk_put(host->dbclk);
                host->dbclk = NULL;
        }
 
@@ -2105,11 +2104,8 @@ err_irq:
                dma_release_channel(host->rx_chan);
        pm_runtime_put_sync(host->dev);
        pm_runtime_disable(host->dev);
-       clk_put(host->fclk);
-       if (host->dbclk) {
+       if (host->dbclk)
                clk_disable_unprepare(host->dbclk);
-               clk_put(host->dbclk);
-       }
 err1:
        iounmap(host->base);
        mmc_free_host(mmc);
@@ -2144,11 +2140,8 @@ static int omap_hsmmc_remove(struct platform_device *pdev)
 
        pm_runtime_put_sync(host->dev);
        pm_runtime_disable(host->dev);
-       clk_put(host->fclk);
-       if (host->dbclk) {
+       if (host->dbclk)
                clk_disable_unprepare(host->dbclk);
-               clk_put(host->dbclk);
-       }
 
        omap_hsmmc_gpio_free(host->pdata);
        iounmap(host->base);