mmc: dw_mmc: Cleanup disable of low power mode w/ SDIO interrupts
authorDoug Anderson <dianders@chromium.org>
Tue, 2 Dec 2014 23:42:46 +0000 (15:42 -0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 19 Jan 2015 08:56:05 +0000 (09:56 +0100)
commitb24c8b260189fe21cca992d2f5175a33f6cc5477
treeca723fba1fee785efbf9977a8e22d43528676d38
parenteac86321b5c33e6b68aa4a4e0517c45df3ef02c0
mmc: dw_mmc: Cleanup disable of low power mode w/ SDIO interrupts

In the patch (9623b5b mmc: dw_mmc: Disable low power mode if SDIO
interrupts are used) I added code that disabled the low power mode of
dw_mmc when SDIO interrupts are used.  That code worked but always
felt a little hacky because we ended up disabling low power as a side
effect of the first enable_sdio_irq() call.  That wouldn't be so bad
except that disabling low power involves a complicated process of
writing to the CMD/CMDARG registers and that extra process makes it
difficult to cleanly the read-modify-write race in
dw_mci_enable_sdio_irq() (see future patch in the series).

Change the code to take advantage of the init_card() callback of the
mmc core to do this right at bootup.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/dw_mmc.c
drivers/mmc/host/dw_mmc.h