diff options
author | Andy Ross <andy.ross@windriver.com> | 2011-01-03 21:36:56 +0300 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-01-09 07:52:25 +0300 |
commit | 807e8e40673d9628fa7dcdd14423424b4ee5f43b (patch) | |
tree | ca95bdb69d07f0169bbfc5388e15745b9811513e /drivers/mmc/core/core.h | |
parent | 08c82dfad2458f8f9b83126224a85e7ea9e2b046 (diff) | |
download | linux-807e8e40673d9628fa7dcdd14423424b4ee5f43b.tar.xz |
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>
Diffstat (limited to 'drivers/mmc/core/core.h')
-rw-r--r-- | drivers/mmc/core/core.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h index 026c975b99a9..ca1fdde29df6 100644 --- a/drivers/mmc/core/core.h +++ b/drivers/mmc/core/core.h @@ -57,9 +57,9 @@ void mmc_rescan(struct work_struct *work); void mmc_start_host(struct mmc_host *host); void mmc_stop_host(struct mmc_host *host); -int mmc_attach_mmc(struct mmc_host *host, u32 ocr); -int mmc_attach_sd(struct mmc_host *host, u32 ocr); -int mmc_attach_sdio(struct mmc_host *host, u32 ocr); +int mmc_attach_mmc(struct mmc_host *host); +int mmc_attach_sd(struct mmc_host *host); +int mmc_attach_sdio(struct mmc_host *host); /* Module parameters */ extern int use_spi_crc; |