diff options
author | Boris BREZILLON <b.brezillon@overkiz.com> | 2013-06-19 07:14:54 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-07-05 02:10:57 -0400 |
commit | f784d9c90469d75a9f7a38c1568f47e95ae504ca (patch) | |
tree | 1ab9f2905dfe2bd8e02a15ee076ca0c78661a944 /drivers/dma/at_hdmac.c | |
parent | c3dbc60c9b2510fee6cea9b77b89a7708bf98bd3 (diff) |
dmaengine: at_hdmac: prepare clk before calling enable
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>
Diffstat (limited to 'drivers/dma/at_hdmac.c')
-rw-r--r-- | drivers/dma/at_hdmac.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 3e070d2fb6a3..c787f38a186a 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c | |||
@@ -1460,7 +1460,9 @@ static int __init at_dma_probe(struct platform_device *pdev) | |||
1460 | err = PTR_ERR(atdma->clk); | 1460 | err = PTR_ERR(atdma->clk); |
1461 | goto err_clk; | 1461 | goto err_clk; |
1462 | } | 1462 | } |
1463 | clk_enable(atdma->clk); | 1463 | err = clk_prepare_enable(atdma->clk); |
1464 | if (err) | ||
1465 | goto err_clk_prepare; | ||
1464 | 1466 | ||
1465 | /* force dma off, just in case */ | 1467 | /* force dma off, just in case */ |
1466 | at_dma_off(atdma); | 1468 | at_dma_off(atdma); |
@@ -1560,7 +1562,8 @@ err_of_dma_controller_register: | |||
1560 | err_pool_create: | 1562 | err_pool_create: |
1561 | free_irq(platform_get_irq(pdev, 0), atdma); | 1563 | free_irq(platform_get_irq(pdev, 0), atdma); |
1562 | err_irq: | 1564 | err_irq: |
1563 | clk_disable(atdma->clk); | 1565 | clk_disable_unprepare(atdma->clk); |
1566 | err_clk_prepare: | ||
1564 | clk_put(atdma->clk); | 1567 | clk_put(atdma->clk); |
1565 | err_clk: | 1568 | err_clk: |
1566 | iounmap(atdma->regs); | 1569 | iounmap(atdma->regs); |
@@ -1596,7 +1599,7 @@ static int at_dma_remove(struct platform_device *pdev) | |||
1596 | list_del(&chan->device_node); | 1599 | list_del(&chan->device_node); |
1597 | } | 1600 | } |
1598 | 1601 | ||
1599 | clk_disable(atdma->clk); | 1602 | clk_disable_unprepare(atdma->clk); |
1600 | clk_put(atdma->clk); | 1603 | clk_put(atdma->clk); |
1601 | 1604 | ||
1602 | iounmap(atdma->regs); | 1605 | iounmap(atdma->regs); |
@@ -1615,7 +1618,7 @@ static void at_dma_shutdown(struct platform_device *pdev) | |||
1615 | struct at_dma *atdma = platform_get_drvdata(pdev); | 1618 | struct at_dma *atdma = platform_get_drvdata(pdev); |
1616 | 1619 | ||
1617 | at_dma_off(platform_get_drvdata(pdev)); | 1620 | at_dma_off(platform_get_drvdata(pdev)); |
1618 | clk_disable(atdma->clk); | 1621 | clk_disable_unprepare(atdma->clk); |
1619 | } | 1622 | } |
1620 | 1623 | ||
1621 | static int at_dma_prepare(struct device *dev) | 1624 | static int at_dma_prepare(struct device *dev) |
@@ -1672,7 +1675,7 @@ static int at_dma_suspend_noirq(struct device *dev) | |||
1672 | 1675 | ||
1673 | /* disable DMA controller */ | 1676 | /* disable DMA controller */ |
1674 | at_dma_off(atdma); | 1677 | at_dma_off(atdma); |
1675 | clk_disable(atdma->clk); | 1678 | clk_disable_unprepare(atdma->clk); |
1676 | return 0; | 1679 | return 0; |
1677 | } | 1680 | } |
1678 | 1681 | ||
@@ -1702,7 +1705,7 @@ static int at_dma_resume_noirq(struct device *dev) | |||
1702 | struct dma_chan *chan, *_chan; | 1705 | struct dma_chan *chan, *_chan; |
1703 | 1706 | ||
1704 | /* bring back DMA controller */ | 1707 | /* bring back DMA controller */ |
1705 | clk_enable(atdma->clk); | 1708 | clk_prepare_enable(atdma->clk); |
1706 | dma_writel(atdma, EN, AT_DMA_ENABLE); | 1709 | dma_writel(atdma, EN, AT_DMA_ENABLE); |
1707 | 1710 | ||
1708 | /* clear any pending interrupt */ | 1711 | /* clear any pending interrupt */ |