aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-atmel.c
diff options
context:
space:
mode:
authorBoris BREZILLON <b.brezillon@overkiz.com>2013-07-16 11:16:22 -0400
committerMark Brown <broonie@linaro.org>2013-07-17 04:10:24 -0400
commitdfec4a6e42286dacc733c7e6be43606a5622ca58 (patch)
tree91cbb9cb21354c412bc87b8b63465fdc442f1dec /drivers/spi/spi-atmel.c
parentad81f0545ef01ea651886dddac4bef6cec930092 (diff)
spi: atmel: 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> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi/spi-atmel.c')
-rw-r--r--drivers/spi/spi-atmel.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index ea1ec009f44d..4c6c455685c2 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -1579,7 +1579,9 @@ static int atmel_spi_probe(struct platform_device *pdev)
1579 goto out_unmap_regs; 1579 goto out_unmap_regs;
1580 1580
1581 /* Initialize the hardware */ 1581 /* Initialize the hardware */
1582 clk_enable(clk); 1582 ret = clk_prepare_enable(clk);
1583 if (ret)
1584 goto out_unmap_regs;
1583 spi_writel(as, CR, SPI_BIT(SWRST)); 1585 spi_writel(as, CR, SPI_BIT(SWRST));
1584 spi_writel(as, CR, SPI_BIT(SWRST)); /* AT91SAM9263 Rev B workaround */ 1586 spi_writel(as, CR, SPI_BIT(SWRST)); /* AT91SAM9263 Rev B workaround */
1585 if (as->caps.has_wdrbt) { 1587 if (as->caps.has_wdrbt) {
@@ -1609,7 +1611,7 @@ out_free_dma:
1609 1611
1610 spi_writel(as, CR, SPI_BIT(SWRST)); 1612 spi_writel(as, CR, SPI_BIT(SWRST));
1611 spi_writel(as, CR, SPI_BIT(SWRST)); /* AT91SAM9263 Rev B workaround */ 1613 spi_writel(as, CR, SPI_BIT(SWRST)); /* AT91SAM9263 Rev B workaround */
1612 clk_disable(clk); 1614 clk_disable_unprepare(clk);
1613 free_irq(irq, master); 1615 free_irq(irq, master);
1614out_unmap_regs: 1616out_unmap_regs:
1615 iounmap(as->regs); 1617 iounmap(as->regs);
@@ -1661,7 +1663,7 @@ static int atmel_spi_remove(struct platform_device *pdev)
1661 dma_free_coherent(&pdev->dev, BUFFER_SIZE, as->buffer, 1663 dma_free_coherent(&pdev->dev, BUFFER_SIZE, as->buffer,
1662 as->buffer_dma); 1664 as->buffer_dma);
1663 1665
1664 clk_disable(as->clk); 1666 clk_disable_unprepare(as->clk);
1665 clk_put(as->clk); 1667 clk_put(as->clk);
1666 free_irq(as->irq, master); 1668 free_irq(as->irq, master);
1667 iounmap(as->regs); 1669 iounmap(as->regs);
@@ -1678,7 +1680,7 @@ static int atmel_spi_suspend(struct platform_device *pdev, pm_message_t mesg)
1678 struct spi_master *master = platform_get_drvdata(pdev); 1680 struct spi_master *master = platform_get_drvdata(pdev);
1679 struct atmel_spi *as = spi_master_get_devdata(master); 1681 struct atmel_spi *as = spi_master_get_devdata(master);
1680 1682
1681 clk_disable(as->clk); 1683 clk_disable_unprepare(as->clk);
1682 return 0; 1684 return 0;
1683} 1685}
1684 1686
@@ -1687,7 +1689,7 @@ static int atmel_spi_resume(struct platform_device *pdev)
1687 struct spi_master *master = platform_get_drvdata(pdev); 1689 struct spi_master *master = platform_get_drvdata(pdev);
1688 struct atmel_spi *as = spi_master_get_devdata(master); 1690 struct atmel_spi *as = spi_master_get_devdata(master);
1689 1691
1690 clk_enable(as->clk); 1692 return clk_prepare_enable(as->clk);
1691 return 0; 1693 return 0;
1692} 1694}
1693 1695