mmc: Fix sd/sdio/mmc initialization frequency retries
authorAndy Ross <andy.ross@windriver.com>
Mon, 3 Jan 2011 18:36:56 +0000 (10:36 -0800)
committerChris Ball <cjb@laptop.org>
Sun, 9 Jan 2011 04:52:25 +0000 (23:52 -0500)
commit807e8e40673d9628fa7dcdd14423424b4ee5f43b
treeca95bdb69d07f0169bbfc5388e15745b9811513e
parent08c82dfad2458f8f9b83126224a85e7ea9e2b046
mmc: Fix sd/sdio/mmc initialization frequency retries

Rewrite and clean up mmc_rescan() to properly retry frequencies lower
than 400kHz.  Failures can happen both in sd_send_* calls and
mmc_attach_*.  Break out "mmc_rescan_try_freq" from the frequency
selection loop.  Symmetrize claim/release logic in mmc_attach_* API,
and move the sd_send_* calls there to make mmc_rescan easier to read.

Signed-off-by: Andy Ross <andy.ross@windriver.com>
Reviewed-and-Tested-by: Hein Tibosch <hein_tibosch@yahoo.es>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/core.c
drivers/mmc/core/core.h
drivers/mmc/core/mmc.c
drivers/mmc/core/sd.c
drivers/mmc/core/sdio.c