]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
dmaengine: at_hdmac: prepare clk before calling enable
authorBoris BREZILLON <b.brezillon@overkiz.com>
Wed, 19 Jun 2013 11:14:54 +0000 (13:14 +0200)
committerVinod Koul <vinod.koul@intel.com>
Fri, 5 Jul 2013 06:10:57 +0000 (11:40 +0530)
Replace clk_enable/disable with clk_prepare_enable/disable_unprepare to
avoid common clk framework warnings.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
[nicolas.ferre@atmel.com: remove return code checking in at_dma_resume_noirq()]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
drivers/dma/at_hdmac.c

index 3e070d2fb6a3c3b76b57c47b63422b5167f7c3f5..c787f38a186a008a6cf8fa4af1dc9d19cab8f836 100644 (file)
@@ -1460,7 +1460,9 @@ static int __init at_dma_probe(struct platform_device *pdev)
                err = PTR_ERR(atdma->clk);
                goto err_clk;
        }
-       clk_enable(atdma->clk);
+       err = clk_prepare_enable(atdma->clk);
+       if (err)
+               goto err_clk_prepare;
 
        /* force dma off, just in case */
        at_dma_off(atdma);
@@ -1560,7 +1562,8 @@ err_of_dma_controller_register:
 err_pool_create:
        free_irq(platform_get_irq(pdev, 0), atdma);
 err_irq:
-       clk_disable(atdma->clk);
+       clk_disable_unprepare(atdma->clk);
+err_clk_prepare:
        clk_put(atdma->clk);
 err_clk:
        iounmap(atdma->regs);
@@ -1596,7 +1599,7 @@ static int at_dma_remove(struct platform_device *pdev)
                list_del(&chan->device_node);
        }
 
-       clk_disable(atdma->clk);
+       clk_disable_unprepare(atdma->clk);
        clk_put(atdma->clk);
 
        iounmap(atdma->regs);
@@ -1615,7 +1618,7 @@ static void at_dma_shutdown(struct platform_device *pdev)
        struct at_dma   *atdma = platform_get_drvdata(pdev);
 
        at_dma_off(platform_get_drvdata(pdev));
-       clk_disable(atdma->clk);
+       clk_disable_unprepare(atdma->clk);
 }
 
 static int at_dma_prepare(struct device *dev)
@@ -1672,7 +1675,7 @@ static int at_dma_suspend_noirq(struct device *dev)
 
        /* disable DMA controller */
        at_dma_off(atdma);
-       clk_disable(atdma->clk);
+       clk_disable_unprepare(atdma->clk);
        return 0;
 }
 
@@ -1702,7 +1705,7 @@ static int at_dma_resume_noirq(struct device *dev)
        struct dma_chan *chan, *_chan;
 
        /* bring back DMA controller */
-       clk_enable(atdma->clk);
+       clk_prepare_enable(atdma->clk);
        dma_writel(atdma, EN, AT_DMA_ENABLE);
 
        /* clear any pending interrupt */