diff mbox series

[v2,1/2] mmc: fsl_esdhc: read register once for card inserted status

Message ID 20200519030644.11290-1-yangbo.lu@nxp.com
State Accepted
Commit 9abf648436b49553e6cb4a7f03a021720616d75b
Headers show
Series [v2,1/2] mmc: fsl_esdhc: read register once for card inserted status | expand

Commit Message

Y.b. Lu May 19, 2020, 3:06 a.m. UTC
No need to poll register for card inserted status.

Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
---
Changes for v2:
	- Updated copyright.
---
 drivers/mmc/fsl_esdhc.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

Comments

Peng Fan May 19, 2020, 3:13 a.m. UTC | #1
> Subject: [v2, 1/2] mmc: fsl_esdhc: read register once for card inserted status
> 
> No need to poll register for card inserted status.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>

Acked-by: Peng Fan <peng.fan at nxp.com>
diff mbox series

Patch

diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index 386781d..02d9230 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -1,7 +1,7 @@ 
 // SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright 2007, 2010-2011 Freescale Semiconductor, Inc
- * Copyright 2019 NXP Semiconductors
+ * Copyright 2019-2020 NXP
  * Andy Fleming
  *
  * Based vaguely on the pxa mmc code:
@@ -627,16 +627,15 @@  static int esdhc_init_common(struct fsl_esdhc_priv *priv, struct mmc *mmc)
 static int esdhc_getcd_common(struct fsl_esdhc_priv *priv)
 {
 	struct fsl_esdhc *regs = priv->esdhc_regs;
-	int timeout = 1000;
 
 #ifdef CONFIG_ESDHC_DETECT_QUIRK
 	if (CONFIG_ESDHC_DETECT_QUIRK)
 		return 1;
 #endif
-	while (!(esdhc_read32(&regs->prsstat) & PRSSTAT_CINS) && --timeout)
-		udelay(1000);
+	if (esdhc_read32(&regs->prsstat) & PRSSTAT_CINS)
+		return 1;
 
-	return timeout > 0;
+	return 0;
 }
 
 static void fsl_esdhc_get_cfg_common(struct fsl_esdhc_priv *priv,