[PATCH 2/3] MMC: OMAP: Fix omap to use MMC_POWER_ON

From: Carlos Aguiar
Date: Tue Apr 24 2007 - 16:47:11 EST



As discussed earlier on LKML:

http://lkml.org/lkml/2006/5/4/44

Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>

Index: linux-2.6.20/drivers/mmc/omap.c
===================================================================
--- linux-2.6.20.orig/drivers/mmc/omap.c 2007-04-24 15:22:12.000000000 -0400
+++ linux-2.6.20/drivers/mmc/omap.c 2007-04-24 15:22:15.000000000 -0400
@@ -970,8 +970,10 @@ static void mmc_omap_set_ios(struct mmc_
mmc_omap_power(host, 0);
break;
case MMC_POWER_UP:
- case MMC_POWER_ON:
+ /* Cannot touch dsor yet, just power up MMC */
mmc_omap_power(host, 1);
+ return;
+ case MMC_POWER_ON:
dsor |= 1 << 11;
break;
}
@@ -987,7 +989,7 @@ static void mmc_omap_set_ios(struct mmc_
* Writing to the CON register twice seems to do the trick. */
for (i = 0; i < 2; i++)
OMAP_MMC_WRITE(host, CON, dsor);
- if (ios->power_mode == MMC_POWER_UP) {
+ if (ios->power_mode == MMC_POWER_ON) {
/* Send clock cycles, poll completion */
OMAP_MMC_WRITE(host, IE, 0);
OMAP_MMC_WRITE(host, STAT, 0xffff);