]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
spi: dw: introduce spi_shutdown_chip()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 14 Oct 2015 20:12:23 +0000 (23:12 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 19 Oct 2015 19:32:01 +0000 (20:32 +0100)
This helper disables SPI controller and sets clock to 0.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-dw.c
drivers/spi/spi-dw.h

index c8e7715097e712ee2c6c2e0d538d3af80c9d36cb..a730c353d3bf209d01f22d18a5ad048839552077 100644 (file)
@@ -546,22 +546,21 @@ void dw_spi_remove_host(struct dw_spi *dws)
 
        if (dws->dma_ops && dws->dma_ops->dma_exit)
                dws->dma_ops->dma_exit(dws);
-       spi_enable_chip(dws, 0);
-       /* Disable clk */
-       spi_set_clk(dws, 0);
+
+       spi_shutdown_chip(dws);
 }
 EXPORT_SYMBOL_GPL(dw_spi_remove_host);
 
 int dw_spi_suspend_host(struct dw_spi *dws)
 {
-       int ret = 0;
+       int ret;
 
        ret = spi_master_suspend(dws->master);
        if (ret)
                return ret;
-       spi_enable_chip(dws, 0);
-       spi_set_clk(dws, 0);
-       return ret;
+
+       spi_shutdown_chip(dws);
+       return 0;
 }
 EXPORT_SYMBOL_GPL(dw_spi_suspend_host);
 
index b75ed327d5a29832ad3461cb28da1089ade94cba..35589a270468d6f2dcd7f57ef0c4073cd6fe5721 100644 (file)
@@ -225,6 +225,12 @@ static inline void spi_reset_chip(struct dw_spi *dws)
        spi_enable_chip(dws, 1);
 }
 
+static inline void spi_shutdown_chip(struct dw_spi *dws)
+{
+       spi_enable_chip(dws, 0);
+       spi_set_clk(dws, 0);
+}
+
 /*
  * Each SPI slave device to work with dw_api controller should
  * has such a structure claiming its working mode (poll or PIO/DMA),