[MMC] Explain the internals of mmc_power_up()
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Wed, 14 Dec 2005 14:57:35 +0000 (14:57 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 14 Dec 2005 14:57:35 +0000 (14:57 +0000)
It seems that people get confused about what is happening in
mmc_power_up().  Add a comment to make it clear why we have
a two stage process.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/mmc/mmc.c

index b586a83..eb41391 100644 (file)
@@ -679,7 +679,15 @@ static void mmc_idle_cards(struct mmc_host *host)
 }
 
 /*
- * Apply power to the MMC stack.
+ * Apply power to the MMC stack.  This is a two-stage process.
+ * First, we enable power to the card without the clock running.
+ * We then wait a bit for the power to stabilise.  Finally,
+ * enable the bus drivers and clock to the card.
+ *
+ * We must _NOT_ enable the clock prior to power stablising.
+ *
+ * If a host does all the power sequencing itself, ignore the
+ * initial MMC_POWER_UP stage.
  */
 static void mmc_power_up(struct mmc_host *host)
 {