aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2014-02-25 20:47:55 -0500
committerMark Brown <broonie@linaro.org>2014-03-10 07:21:57 -0400
commit2aa237f4a1a72813f9684a0ce6e48288e75de479 (patch)
tree86401e6f9afb4846afba3eae86a91ae9443c93d7
parent3531b717d05273e45efd2ab7903ea013aaec3fea (diff)
spi: coldfire-qspi: Enable clock before calling spi_master_resume
This ensures clock has been enabled before calling spi_master_resume(). while at it, also add checking return value of spi_master_suspend and spi_master_resume because they may fail. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--drivers/spi/spi-coldfire-qspi.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/spi/spi-coldfire-qspi.c b/drivers/spi/spi-coldfire-qspi.c
index 8d594c6704ad..94d817523d5f 100644
--- a/drivers/spi/spi-coldfire-qspi.c
+++ b/drivers/spi/spi-coldfire-qspi.c
@@ -473,8 +473,11 @@ static int mcfqspi_suspend(struct device *dev)
473{ 473{
474 struct spi_master *master = dev_get_drvdata(dev); 474 struct spi_master *master = dev_get_drvdata(dev);
475 struct mcfqspi *mcfqspi = spi_master_get_devdata(master); 475 struct mcfqspi *mcfqspi = spi_master_get_devdata(master);
476 int ret;
476 477
477 spi_master_suspend(master); 478 ret = spi_master_suspend(master);
479 if (ret)
480 return ret;
478 481
479 clk_disable(mcfqspi->clk); 482 clk_disable(mcfqspi->clk);
480 483
@@ -486,11 +489,9 @@ static int mcfqspi_resume(struct device *dev)
486 struct spi_master *master = dev_get_drvdata(dev); 489 struct spi_master *master = dev_get_drvdata(dev);
487 struct mcfqspi *mcfqspi = spi_master_get_devdata(master); 490 struct mcfqspi *mcfqspi = spi_master_get_devdata(master);
488 491
489 spi_master_resume(master);
490
491 clk_enable(mcfqspi->clk); 492 clk_enable(mcfqspi->clk);
492 493
493 return 0; 494 return spi_master_resume(master);
494} 495}
495#endif 496#endif
496 497