mmc: omap_hsmmc: introduce start_clock and re-use stop_clock
authorAndy Shevchenko <ext-andriy.shevchenko@nokia.com>
Fri, 6 May 2011 09:14:05 +0000 (12:14 +0300)
committerChris Ball <cjb@laptop.org>
Thu, 21 Jul 2011 14:35:02 +0000 (10:35 -0400)
There is similar code in two functions which enable the clock.  Refactor
this code to omap_hsmmc_start_clock(). Re-use omap_hsmmc_stop_clock() in
omap_hsmmc_context_restore() as well.

Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/omap_hsmmc.c

index 2840c7a..2645bdc 100644 (file)
@@ -552,6 +552,15 @@ static void omap_hsmmc_gpio_free(struct omap_mmc_platform_data *pdata)
                gpio_free(pdata->slots[0].switch_pin);
 }
 
+/*
+ * Start clock to the card
+ */
+static void omap_hsmmc_start_clock(struct omap_hsmmc_host *host)
+{
+       OMAP_HSMMC_WRITE(host->base, SYSCTL,
+               OMAP_HSMMC_READ(host->base, SYSCTL) | CEN);
+}
+
 /*
  * Stop clock to the card
  */
@@ -693,8 +702,8 @@ static int omap_hsmmc_context_restore(struct omap_hsmmc_host *host)
                break;
        }
 
-       OMAP_HSMMC_WRITE(host->base, SYSCTL,
-               OMAP_HSMMC_READ(host->base, SYSCTL) & ~CEN);
+       omap_hsmmc_stop_clock(host);
+
        OMAP_HSMMC_WRITE(host->base, SYSCTL,
                (calc_divisor(ios) << 6) | (DTO << 16));
        OMAP_HSMMC_WRITE(host->base, SYSCTL,
@@ -705,8 +714,7 @@ static int omap_hsmmc_context_restore(struct omap_hsmmc_host *host)
                && time_before(jiffies, timeout))
                ;
 
-       OMAP_HSMMC_WRITE(host->base, SYSCTL,
-               OMAP_HSMMC_READ(host->base, SYSCTL) | CEN);
+       omap_hsmmc_start_clock(host);
 
        con = OMAP_HSMMC_READ(host->base, CON);
        if (ios->bus_mode == MMC_BUSMODE_OPENDRAIN)
@@ -1684,8 +1692,7 @@ static void omap_hsmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
                && time_before(jiffies, timeout))
                msleep(1);
 
-       OMAP_HSMMC_WRITE(host->base, SYSCTL,
-               OMAP_HSMMC_READ(host->base, SYSCTL) | CEN);
+       omap_hsmmc_start_clock(host);
 
        if (do_send_init_stream)
                send_init_stream(host);