diff mbox

mmc: sdhci-of-esdhc: avoid writing power control register

Message ID 1444981443-38869-1-git-send-email-yangbo.lu@freescale.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

yangbo lu Oct. 16, 2015, 7:44 a.m. UTC
The eSDHC doesn't have a standard power control register, so when
writing this register in stack we should do nothing to avoid
incorrect operation.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
---
 drivers/mmc/host/sdhci-of-esdhc.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Ulf Hansson Oct. 16, 2015, 1:07 p.m. UTC | #1
On 16 October 2015 at 09:44, Yangbo Lu <yangbo.lu@freescale.com> wrote:
> The eSDHC doesn't have a standard power control register, so when
> writing this register in stack we should do nothing to avoid
> incorrect operation.
>
> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>

Thanks, applied for next.

Kind regards
Uffe

> ---
>  drivers/mmc/host/sdhci-of-esdhc.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
> index 7b9282b..90e94a0 100644
> --- a/drivers/mmc/host/sdhci-of-esdhc.c
> +++ b/drivers/mmc/host/sdhci-of-esdhc.c
> @@ -183,6 +183,12 @@ static u32 esdhc_writeb_fixup(struct sdhci_host *host,
>         int shift = (spec_reg & 0x3) * 8;
>
>         /*
> +        * eSDHC doesn't have a standard power control register, so we do
> +        * nothing here to avoid incorrect operation.
> +        */
> +       if (spec_reg == SDHCI_POWER_CONTROL)
> +               return old_value;
> +       /*
>          * "DMA select" location is offset 0x28 in SD specification, but on
>          * P5020 or P3041, it's located at 0x29.
>          */
> --
> 2.1.0.27.g96db324
>
--
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 mbox

Patch

diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
index 7b9282b..90e94a0 100644
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -183,6 +183,12 @@  static u32 esdhc_writeb_fixup(struct sdhci_host *host,
 	int shift = (spec_reg & 0x3) * 8;
 
 	/*
+	 * eSDHC doesn't have a standard power control register, so we do
+	 * nothing here to avoid incorrect operation.
+	 */
+	if (spec_reg == SDHCI_POWER_CONTROL)
+		return old_value;
+	/*
 	 * "DMA select" location is offset 0x28 in SD specification, but on
 	 * P5020 or P3041, it's located at 0x29.
 	 */