diff options
-rw-r--r-- | drivers/spi/spi-dw.c | 13 | ||||
-rw-r--r-- | drivers/spi/spi-dw.h | 6 |
2 files changed, 12 insertions, 7 deletions
diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c index c8e7715097e7..a730c353d3bf 100644 --- a/drivers/spi/spi-dw.c +++ b/drivers/spi/spi-dw.c | |||
@@ -546,22 +546,21 @@ void dw_spi_remove_host(struct dw_spi *dws) | |||
546 | 546 | ||
547 | if (dws->dma_ops && dws->dma_ops->dma_exit) | 547 | if (dws->dma_ops && dws->dma_ops->dma_exit) |
548 | dws->dma_ops->dma_exit(dws); | 548 | dws->dma_ops->dma_exit(dws); |
549 | spi_enable_chip(dws, 0); | 549 | |
550 | /* Disable clk */ | 550 | spi_shutdown_chip(dws); |
551 | spi_set_clk(dws, 0); | ||
552 | } | 551 | } |
553 | EXPORT_SYMBOL_GPL(dw_spi_remove_host); | 552 | EXPORT_SYMBOL_GPL(dw_spi_remove_host); |
554 | 553 | ||
555 | int dw_spi_suspend_host(struct dw_spi *dws) | 554 | int dw_spi_suspend_host(struct dw_spi *dws) |
556 | { | 555 | { |
557 | int ret = 0; | 556 | int ret; |
558 | 557 | ||
559 | ret = spi_master_suspend(dws->master); | 558 | ret = spi_master_suspend(dws->master); |
560 | if (ret) | 559 | if (ret) |
561 | return ret; | 560 | return ret; |
562 | spi_enable_chip(dws, 0); | 561 | |
563 | spi_set_clk(dws, 0); | 562 | spi_shutdown_chip(dws); |
564 | return ret; | 563 | return 0; |
565 | } | 564 | } |
566 | EXPORT_SYMBOL_GPL(dw_spi_suspend_host); | 565 | EXPORT_SYMBOL_GPL(dw_spi_suspend_host); |
567 | 566 | ||
diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h index b75ed327d5a2..35589a270468 100644 --- a/drivers/spi/spi-dw.h +++ b/drivers/spi/spi-dw.h | |||
@@ -225,6 +225,12 @@ static inline void spi_reset_chip(struct dw_spi *dws) | |||
225 | spi_enable_chip(dws, 1); | 225 | spi_enable_chip(dws, 1); |
226 | } | 226 | } |
227 | 227 | ||
228 | static inline void spi_shutdown_chip(struct dw_spi *dws) | ||
229 | { | ||
230 | spi_enable_chip(dws, 0); | ||
231 | spi_set_clk(dws, 0); | ||
232 | } | ||
233 | |||
228 | /* | 234 | /* |
229 | * Each SPI slave device to work with dw_api controller should | 235 | * Each SPI slave device to work with dw_api controller should |
230 | * has such a structure claiming its working mode (poll or PIO/DMA), | 236 | * has such a structure claiming its working mode (poll or PIO/DMA), |