[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090724155144.4c621e6d.akpm@linux-foundation.org>
Date: Fri, 24 Jul 2009 15:51:44 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Adrian Hunter <adrian.hunter@...ia.com>
Cc: pierre@...man.eu, jarkko.lavinen@...ia.com,
ext-denis.2.karpov@...ia.com, adrian.hunter@...ia.com,
linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org
Subject: Re: [PATCH 20/32] omap_hsmmc: put MMC regulator to sleep
On Fri, 10 Jul 2009 15:42:27 +0300
Adrian Hunter <adrian.hunter@...ia.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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists