Commit 1cc3f141 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown

spi: dw: introduce spi_shutdown_chip()

This helper disables SPI controller and sets clock to 0.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent d53c0ef3
...@@ -546,22 +546,21 @@ void dw_spi_remove_host(struct dw_spi *dws) ...@@ -546,22 +546,21 @@ void dw_spi_remove_host(struct dw_spi *dws)
if (dws->dma_ops && dws->dma_ops->dma_exit) if (dws->dma_ops && dws->dma_ops->dma_exit)
dws->dma_ops->dma_exit(dws); dws->dma_ops->dma_exit(dws);
spi_enable_chip(dws, 0);
/* Disable clk */ spi_shutdown_chip(dws);
spi_set_clk(dws, 0);
} }
EXPORT_SYMBOL_GPL(dw_spi_remove_host); EXPORT_SYMBOL_GPL(dw_spi_remove_host);
int dw_spi_suspend_host(struct dw_spi *dws) int dw_spi_suspend_host(struct dw_spi *dws)
{ {
int ret = 0; int ret;
ret = spi_master_suspend(dws->master); ret = spi_master_suspend(dws->master);
if (ret) if (ret)
return ret; return ret;
spi_enable_chip(dws, 0);
spi_set_clk(dws, 0); spi_shutdown_chip(dws);
return ret; return 0;
} }
EXPORT_SYMBOL_GPL(dw_spi_suspend_host); EXPORT_SYMBOL_GPL(dw_spi_suspend_host);
......
...@@ -225,6 +225,12 @@ static inline void spi_reset_chip(struct dw_spi *dws) ...@@ -225,6 +225,12 @@ static inline void spi_reset_chip(struct dw_spi *dws)
spi_enable_chip(dws, 1); 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 * Each SPI slave device to work with dw_api controller should
* has such a structure claiming its working mode (poll or PIO/DMA), * has such a structure claiming its working mode (poll or PIO/DMA),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment