summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>2010-12-22 14:52:44 +0530
committerPhilippe Langlais <philippe.langlais@linaro.org>2012-03-19 08:50:29 +0100
commitf90f7362eb766b2996f1caa096e65409ae8a46a1 (patch)
treee9aa632314a3be303bb4216602eb4b6c877d9778 /drivers/spi
parent61b036104b0bd5513b0074afcd3ffa58c4695615 (diff)
amba-pl022: Clear SSE once the transfer is completed
Clear SSE after the xfer completion and remove the not needed default register restoration in suspend. ST-Ericsson ID: ER 316546 Change-Id: I73368e18bd55abdff6b1909239bcf5b64583b452 Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-pl022.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 541984b72d9..d7f6a29dad3 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -510,6 +510,13 @@ static void giveback(struct pl022 *pl022)
msg->state = NULL;
if (msg->complete)
msg->complete(msg->context);
+
+ /* disable the SPI/SSP operation */
+ writew((readw(SSP_CR1(pl022->virtbase)) &
+ (~SSP_CR1_MASK_SSE)), SSP_CR1(pl022->virtbase));
+
+ /* This message is completed, so let's turn off the clocks & power */
+ pm_runtime_put(&pl022->adev->dev);
}
/**