Message ID | 1375846138-15839-1-git-send-email-dbasehore@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, August 07, 2013, Derek Basehore > If we keep power for suspend on a host for dw_mmc, don't disable vmmc-supply > regulator when suspending the host. I have a trivial comment. It would be better to add some macro for checking MMC_PM_KEEP_POWER. And I just wonder how the problem is silent. Origin code has stood up somewhat long. Did you see? Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Thanks, Seungwon Jeon > > Signed-off-by: Derek Basehore <dbasehore@chromium.org> > Reviewed-by: Doug Anderson <dianders@chromium.org> > --- > drivers/mmc/host/dw_mmc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index ee5f167..bf82d7c 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -2474,7 +2474,7 @@ int dw_mci_suspend(struct dw_mci *host) > } > } > > - if (host->vmmc) > + if (host->vmmc && !(host->pdata->pm_caps & MMC_PM_KEEP_POWER)) > regulator_disable(host->vmmc); > > return 0; > @@ -2485,7 +2485,7 @@ int dw_mci_resume(struct dw_mci *host) > { > int i, ret; > > - if (host->vmmc) { > + if (host->vmmc && !(host->pdata->pm_caps & MMC_PM_KEEP_POWER)) { > ret = regulator_enable(host->vmmc); > if (ret) { > dev_err(host->dev, > -- > 1.8.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Seungwon and Derek, On Mon, Aug 12, 2013 at 3:33 AM, Seungwon Jeon <tgih.jun@samsung.com> wrote: > On Wed, August 07, 2013, Derek Basehore >> If we keep power for suspend on a host for dw_mmc, don't disable vmmc-supply >> regulator when suspending the host. > > I have a trivial comment. > It would be better to add some macro for checking MMC_PM_KEEP_POWER. > And I just wonder how the problem is silent. Origin code has stood up somewhat long. > Did you see? > > Acked-by: Seungwon Jeon <tgih.jun@samsung.com> > > Thanks, > Seungwon Jeon > >> >> Signed-off-by: Derek Basehore <dbasehore@chromium.org> >> Reviewed-by: Doug Anderson <dianders@chromium.org> >> --- >> drivers/mmc/host/dw_mmc.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) Though I reviewed this originally, I'd actually propose not landing it. I've spent more time with the regulator code in dw_mmc and currently believe that the regulators should be enabled / disabled in MMC_POWER_UP / MMC_POWER_OFF. When we do that then the mmc core will handle MMC_PM_KEEP_POWER. You can see my current thoughts on this in <https://gerrit.chromium.org/gerrit/#/c/65263/>. I will try to post that upstream before too long, but feel free to let me know any comments. -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index ee5f167..bf82d7c 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -2474,7 +2474,7 @@ int dw_mci_suspend(struct dw_mci *host) } } - if (host->vmmc) + if (host->vmmc && !(host->pdata->pm_caps & MMC_PM_KEEP_POWER)) regulator_disable(host->vmmc); return 0; @@ -2485,7 +2485,7 @@ int dw_mci_resume(struct dw_mci *host) { int i, ret; - if (host->vmmc) { + if (host->vmmc && !(host->pdata->pm_caps & MMC_PM_KEEP_POWER)) { ret = regulator_enable(host->vmmc); if (ret) { dev_err(host->dev,