On Fri, 10 Jul 2009 15:42:27 +0300
Adrian Hunter <adrian.hun...@nokia.com> wrote:

> +static int omap_mmc_regsleep_to_enabled(struct mmc_omap_host *host)
> +{
> +     unsigned long timeout;
> +
> +     dev_dbg(mmc_dev(host->mmc), "REGSLEEP -> ENABLED\n");
> +
> +     clk_enable(host->fclk);
> +     clk_enable(host->iclk);
> +
> +     if (clk_enable(host->dbclk))
> +             dev_dbg(mmc_dev(host->mmc),
> +                     "Enabling debounce clk failed\n");
> +
> +     omap_mmc_restore_ctx(host);
> +
> +     /*
> +      * We turned off interrupts and bus power.  Interrupts
> +      * are turned on by 'mmc_omap_start_command()' so we
> +      * just need to turn on the bus power here.
> +      */
> +     OMAP_HSMMC_WRITE(host->base, HCTL,
> +                      OMAP_HSMMC_READ(host->base, HCTL) | SDBP);
> +
> +     timeout = jiffies + msecs_to_jiffies(MMC_TIMEOUT_MS);
> +     while ((OMAP_HSMMC_READ(host->base, HCTL) & SDBP) != SDBP &&
> +            time_before(jiffies, timeout))
> +             ;
> +
> +     if (mmc_slot(host).set_sleep)
> +             mmc_slot(host).set_sleep(host->dev, host->slot_id,
> +                                      0, host->vdd, 0);
> +
> +     host->dpm_state = ENABLED;
> +
> +     return 0;
> +}

We take no action if the wait for SDBP timed out?
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to