Hi Chris.. I think you're confused something because my explanation. My means..if we use the regulator, regulator is enabled when probing. Then regulator is enabling until we don't disable.. In order to power-save, disabled the regulator when entered suspend. Already in suspend function, located "regulator_disable()". but also located "regulator_enable()" in suspend function. So i think right that "regulator_enable()" is located in resume function. not in suspend function. Regards, Jaehoon Chung Chris Ball wrote: > Hi, > > On Wed, May 11 2011, Jaehoon Chung wrote: >> In suspend function, regulator_enable() need not. >> regulator_enable() should be locate in resume function. >> >> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> >> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> >> --- >> drivers/mmc/host/dw_mmc.c | 6 +++--- >> 1 files changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c >> index 87e1f57..66dcddb 100644 >> --- a/drivers/mmc/host/dw_mmc.c >> +++ b/drivers/mmc/host/dw_mmc.c >> @@ -1769,9 +1769,6 @@ static int dw_mci_suspend(struct platform_device *pdev, pm_message_t mesg) >> int i, ret; >> struct dw_mci *host = platform_get_drvdata(pdev); >> >> - if (host->vmmc) >> - regulator_enable(host->vmmc); >> - >> for (i = 0; i < host->num_slots; i++) { >> struct dw_mci_slot *slot = host->slot[i]; >> if (!slot) >> @@ -1798,6 +1795,9 @@ static int dw_mci_resume(struct platform_device *pdev) >> int i, ret; >> struct dw_mci *host = platform_get_drvdata(pdev); >> >> + if (host->vmmc) >> + regulator_enable(host->vmmc); >> + >> if (host->dma_ops->init) >> host->dma_ops->init(host); >> >> > > Should the regulator be being disabled in the suspend function, then? > > - Chris. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html