spi/pl022: disable port when unused
authorVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Tue, 12 Jun 2012 13:10:58 +0000 (15:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Aug 2012 15:31:38 +0000 (08:31 -0700)
commit fd316941cfee1fbd12746afea83720fb7823888a upstream.

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: Vinit Shenoy <vinit.shenoy@st.com>
Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spi/spi-pl022.c

index 400ae21..469eb28 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));
+
 }
 
 /**