mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 01:41:39 +00:00
mmc: core: Re-use code for MMC_CAP2_DETECT_ON_ERR in polling mode
Previously the MMC_CAP2_DETECT_ON_ERR was invented for detecting slow card removal. In was never a realy good solution and a proper fix has been merged using gpio debouncing instead. We remove this cap in this patch. Although when using polling card detect mode, the code invented for MMC_CAP2_DETECT_ON_ERR is re-used to complete card removal in an earlier phase. There are no need waiting for the polling timeout to elapse in this case. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Kevin Liu <kliu5@marvell.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
810e08ee42
commit
b689167984
2 changed files with 2 additions and 4 deletions
|
@ -2325,14 +2325,13 @@ int mmc_detect_card_removed(struct mmc_host *host)
|
|||
* The card will be considered unchanged unless we have been asked to
|
||||
* detect a change or host requires polling to provide card detection.
|
||||
*/
|
||||
if (!host->detect_change && !(host->caps & MMC_CAP_NEEDS_POLL) &&
|
||||
!(host->caps2 & MMC_CAP2_DETECT_ON_ERR))
|
||||
if (!host->detect_change && !(host->caps & MMC_CAP_NEEDS_POLL))
|
||||
return ret;
|
||||
|
||||
host->detect_change = 0;
|
||||
if (!ret) {
|
||||
ret = _mmc_detect_card_removed(host);
|
||||
if (ret && (host->caps2 & MMC_CAP2_DETECT_ON_ERR)) {
|
||||
if (ret && (host->caps & MMC_CAP_NEEDS_POLL)) {
|
||||
/*
|
||||
* Schedule a detect work as soon as possible to let a
|
||||
* rescan handle the card removal.
|
||||
|
|
|
@ -272,7 +272,6 @@ struct mmc_host {
|
|||
#define MMC_CAP2_HS200 (MMC_CAP2_HS200_1_8V_SDR | \
|
||||
MMC_CAP2_HS200_1_2V_SDR)
|
||||
#define MMC_CAP2_BROKEN_VOLTAGE (1 << 7) /* Use the broken voltage */
|
||||
#define MMC_CAP2_DETECT_ON_ERR (1 << 8) /* On I/O err check card removal */
|
||||
#define MMC_CAP2_HC_ERASE_SZ (1 << 9) /* High-capacity erase size */
|
||||
#define MMC_CAP2_CD_ACTIVE_HIGH (1 << 10) /* Card-detect signal active high */
|
||||
#define MMC_CAP2_RO_ACTIVE_HIGH (1 << 11) /* Write-protect signal active high */
|
||||
|
|
Loading…
Reference in a new issue