Browse Source

spi: sirf: Add missing spi_master_{resume,suspend} calls to PM callbacks

This is required since commit 2025172e3280 "spi/bitbang: Use core message pump".
spi-bitbang now uses core message pump, so it needs to call spi_master_suspend/
spi_master_resume to stop/start the queue while suspend/resume.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Axel Lin 11 years ago
parent
commit
a82ba3a318
1 changed files with 6 additions and 1 deletions
  1. 6 1
      drivers/spi/spi-sirf.c

+ 6 - 1
drivers/spi/spi-sirf.c

@@ -748,6 +748,11 @@ static int spi_sirfsoc_suspend(struct device *dev)
 {
 {
 	struct spi_master *master = dev_get_drvdata(dev);
 	struct spi_master *master = dev_get_drvdata(dev);
 	struct sirfsoc_spi *sspi = spi_master_get_devdata(master);
 	struct sirfsoc_spi *sspi = spi_master_get_devdata(master);
+	int ret;
+
+	ret = spi_master_suspend(master);
+	if (ret)
+		return ret;
 
 
 	clk_disable(sspi->clk);
 	clk_disable(sspi->clk);
 	return 0;
 	return 0;
@@ -764,7 +769,7 @@ static int spi_sirfsoc_resume(struct device *dev)
 	writel(SIRFSOC_SPI_FIFO_START, sspi->base + SIRFSOC_SPI_RXFIFO_OP);
 	writel(SIRFSOC_SPI_FIFO_START, sspi->base + SIRFSOC_SPI_RXFIFO_OP);
 	writel(SIRFSOC_SPI_FIFO_START, sspi->base + SIRFSOC_SPI_TXFIFO_OP);
 	writel(SIRFSOC_SPI_FIFO_START, sspi->base + SIRFSOC_SPI_TXFIFO_OP);
 
 
-	return 0;
+	return spi_master_resume(master);
 }
 }
 #endif
 #endif