mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
spi: dw: introduce spi_shutdown_chip()
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>
This commit is contained in:
parent
d53c0ef319
commit
1cc3f141f0
@ -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);
|
||||
|
||||
|
@ -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),
|
||||
|
Loading…
Reference in New Issue
Block a user