diff mbox series

[RFC,V3,14/21] mmc: sdhci: UHS-II support, handle vdd2 in case of power-off

Message ID 20200710111121.29671-1-benchuanggli@gmail.com
State New
Headers show
Series None | expand

Commit Message

Ben Chuang July 10, 2020, 11:11 a.m. UTC
From: AKASHI Takahiro <takahiro.akashi@linaro.org>


Configure a regulator for VDD2 in case of power-off.

Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw>

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>

---
 drivers/mmc/host/sdhci.c | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.27.0

Comments

Adrian Hunter Aug. 21, 2020, 2:09 p.m. UTC | #1
On 10/07/20 2:11 pm, Ben Chuang wrote:
> From: AKASHI Takahiro <takahiro.akashi@linaro.org>

> 

> Configure a regulator for VDD2 in case of power-off.

> 

> Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw>

> Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>

> ---

>  drivers/mmc/host/sdhci.c | 5 +++++

>  1 file changed, 5 insertions(+)

> 

> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c

> index 7f2537648a08..d38d734ec83f 100644

> --- a/drivers/mmc/host/sdhci.c

> +++ b/drivers/mmc/host/sdhci.c

> @@ -2333,6 +2333,11 @@ void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)

>  		if (!IS_ERR(mmc->supply.vmmc) &&

>  		    ios->power_mode == MMC_POWER_OFF)

>  			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);

> +		if (IS_ENABLED(CONFIG_MMC_SDHCI_UHS2) &&

> +		    host->mmc->caps & MMC_CAP_UHS2 &&

> +		    !IS_ERR(mmc->supply.vmmc2) &&

> +		    ios->power_mode == MMC_POWER_OFF)


Probably this can be just:

		if (!IS_ERR_OR_NULL(mmc->supply.vmmc2) &&
		    ios->power_mode == MMC_POWER_OFF)


> +			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc2, 0);

>  		return;

>  	}

>  

>
AKASHI Takahiro Sept. 15, 2020, 7 a.m. UTC | #2
On Fri, Aug 21, 2020 at 05:09:55PM +0300, Adrian Hunter wrote:
> On 10/07/20 2:11 pm, Ben Chuang wrote:
> > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > 
> > Configure a regulator for VDD2 in case of power-off.
> > 
> > Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw>
> > Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > ---
> >  drivers/mmc/host/sdhci.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> > index 7f2537648a08..d38d734ec83f 100644
> > --- a/drivers/mmc/host/sdhci.c
> > +++ b/drivers/mmc/host/sdhci.c
> > @@ -2333,6 +2333,11 @@ void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> >  		if (!IS_ERR(mmc->supply.vmmc) &&
> >  		    ios->power_mode == MMC_POWER_OFF)
> >  			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
> > +		if (IS_ENABLED(CONFIG_MMC_SDHCI_UHS2) &&
> > +		    host->mmc->caps & MMC_CAP_UHS2 &&
> > +		    !IS_ERR(mmc->supply.vmmc2) &&
> > +		    ios->power_mode == MMC_POWER_OFF)
> 
> Probably this can be just:
> 
> 		if (!IS_ERR_OR_NULL(mmc->supply.vmmc2) &&
> 		    ios->power_mode == MMC_POWER_OFF)

Yeah, probably.

-Takahiro Akashi

> 
> > +			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc2, 0);
> >  		return;
> >  	}
> >  
> > 
>
diff mbox series

Patch

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 7f2537648a08..d38d734ec83f 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2333,6 +2333,11 @@  void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 		if (!IS_ERR(mmc->supply.vmmc) &&
 		    ios->power_mode == MMC_POWER_OFF)
 			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
+		if (IS_ENABLED(CONFIG_MMC_SDHCI_UHS2) &&
+		    host->mmc->caps & MMC_CAP_UHS2 &&
+		    !IS_ERR(mmc->supply.vmmc2) &&
+		    ios->power_mode == MMC_POWER_OFF)
+			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc2, 0);
 		return;
 	}