public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] tegra2: mmc: Enable card-detect for all interfaces.
@ 2011-11-21  8:35 Thierry Reding
  2011-11-21 17:09 ` Stephen Warren
  0 siblings, 1 reply; 3+ messages in thread
From: Thierry Reding @ 2011-11-21  8:35 UTC (permalink / raw)
  To: u-boot

This commit drops the interface check for card-detection and leaves it
up to the board whether or not a card-detect GPIO is connected. Also,
the version field of struct mmc is only valid after the slot has been
probed successfully, so depending on that information sort of defeats
the purpose of card-detection.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
---
 drivers/mmc/tegra2_mmc.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/mmc/tegra2_mmc.c b/drivers/mmc/tegra2_mmc.c
index 035a868..fe562ed 100644
--- a/drivers/mmc/tegra2_mmc.c
+++ b/drivers/mmc/tegra2_mmc.c
@@ -543,14 +543,10 @@ int board_mmc_getcd(u8 *cd, struct mmc *mmc)
 
 	debug("board_mmc_getcd called\n");
 
-	*cd = 1; /* Assume card is inserted, or eMMC */
-
-	if (IS_SD(mmc)) {
-		if (host->cd_gpio >= 0) {
-			if (gpio_get_value(host->cd_gpio))
-				*cd = 0;
-		}
-	}
+	if (host->cd_gpio >= 0)
+		*cd = !gpio_get_value(host->cd_gpio);
+	else
+		*cd = 1;
 
 	return 0;
 }
-- 
1.7.7.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] tegra2: mmc: Enable card-detect for all interfaces.
  2011-11-21  8:35 [U-Boot] [PATCH] tegra2: mmc: Enable card-detect for all interfaces Thierry Reding
@ 2011-11-21 17:09 ` Stephen Warren
  2011-11-22 18:09   ` Thierry Reding
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Warren @ 2011-11-21 17:09 UTC (permalink / raw)
  To: u-boot

On 11/21/2011 01:35 AM, Thierry Reding wrote:
> This commit drops the interface check for card-detection and leaves it
> up to the board whether or not a card-detect GPIO is connected. Also,
> the version field of struct mmc is only valid after the slot has been
> probed successfully, so depending on that information sort of defeats
> the purpose of card-detection.
> 
> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>

Acked-by: Stephen Warren <swarren@nvidia.com>

BTW, in your earlier patch where you added a call to board_mmc_getcd()
to mmc_init(), do you also need to modify drivers/mmc/fsl_esdhc.c's
esdhc_init(), since the cd function has already been called?

BTW, you need to CC the MMC maintainers on these patches, or they
probably won't see them and they won't get applied. See
http://www.denx.de/wiki/U-Boot/Custodians.

-- 
nvpublic

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] tegra2: mmc: Enable card-detect for all interfaces.
  2011-11-21 17:09 ` Stephen Warren
@ 2011-11-22 18:09   ` Thierry Reding
  0 siblings, 0 replies; 3+ messages in thread
From: Thierry Reding @ 2011-11-22 18:09 UTC (permalink / raw)
  To: u-boot

* Stephen Warren wrote:
> On 11/21/2011 01:35 AM, Thierry Reding wrote:
> > This commit drops the interface check for card-detection and leaves it
> > up to the board whether or not a card-detect GPIO is connected. Also,
> > the version field of struct mmc is only valid after the slot has been
> > probed successfully, so depending on that information sort of defeats
> > the purpose of card-detection.
> > 
> > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
> 
> Acked-by: Stephen Warren <swarren@nvidia.com>
> 
> BTW, in your earlier patch where you added a call to board_mmc_getcd()
> to mmc_init(), do you also need to modify drivers/mmc/fsl_esdhc.c's
> esdhc_init(), since the cd function has already been called?

fsl_esdhc.c contains some fallback code if board_mmc_getcd() isn't
implemented, and I'm not at all familiar with the code so I didn't want to
touch it before getting any comments by the corresponding maintainer. My best
guess, though, is that the code can remain as is, because if the CD check is
done before the ->init() callback and the card isn't inserted, then the code
in question won't be executed anyway. If the card is inserted, however, then
board_mmc_getcd() will be called twice, which shouldn't harm either.

However, it seems like board_mmc_getcd() is used differently by fsl_esdhc in
that it uses the cd parameter as "card absent" (inverted logic). That will of
course have to be adjusted.

Perhaps I should've tagged the patch RFC because it really shouldn't be
applied as-is.

> BTW, you need to CC the MMC maintainers on these patches, or they
> probably won't see them and they won't get applied. See
> http://www.denx.de/wiki/U-Boot/Custodians.

Actually I had put Andy Fleming on Cc, but apparently the list stripped that
again. I'll try Cc'ing Andy again, perhaps it'll work this time.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111122/388547cf/attachment.pgp>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-11-22 18:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-21  8:35 [U-Boot] [PATCH] tegra2: mmc: Enable card-detect for all interfaces Thierry Reding
2011-11-21 17:09 ` Stephen Warren
2011-11-22 18:09   ` Thierry Reding

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox