spi/pl022: disable port when unused
authorVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Tue, 12 Jun 2012 13:10:58 +0000 (15:10 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 2 Jul 2012 11:55:36 +0000 (13:55 +0200)
Commit ffbbdd21329f3e15eeca6df2d4bc11c04d9d91c0
"spi: create a message queueing infrastructure"
Accidentally deleted the logic to disable the port
when unused leading to higher power consumption.
Fix this up.

Cc: stable@kernel.org
Cc: Vinit Shenoy <vinit.shenoy@st.com>
Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/spi/spi-pl022.c

index 400ae2121a2a48cd1c78469f0c727972b180a777..469eb28e8328ccea9c98e22118b89e405db3598e 100644 (file)
@@ -489,6 +489,11 @@ static void giveback(struct pl022 *pl022)
        pl022->cur_transfer = NULL;
        pl022->cur_chip = NULL;
        spi_finalize_current_message(pl022->master);
+
+       /* disable the SPI/SSP operation */
+       writew((readw(SSP_CR1(pl022->virtbase)) &
+               (~SSP_CR1_MASK_SSE)), SSP_CR1(pl022->virtbase));
+
 }
 
 /**