From: Jun Nie Date: Tue, 2 Jan 2018 04:25:57 +0000 (+0800) Subject: mmc: Poll for broken card detection case X-Git-Tag: v2018.03-rc1~99^2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2f516e4aa286eb0203e34ab9be68b08f7a3c44c1;p=oweals%2Fu-boot.git mmc: Poll for broken card detection case Poll for broken card detection case instead of return no card detected. Signed-off-by: Jun Nie --- diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index ab0627a8af..bc29611d78 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -17,6 +17,11 @@ config MMC_WRITE help Enable write access to MMC and SD Cards +config MMC_BROKEN_CD + bool "Poll for broken card detection case" + help + If card detection feature is broken, just poll to detect. + config DM_MMC bool "Enable MMC controllers using Driver Model" depends on DM diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 2d0e7bb3a2..255310a8e6 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -2493,8 +2493,12 @@ int mmc_start_init(struct mmc *mmc) mmc->host_caps = mmc->cfg->host_caps | MMC_CAP(SD_LEGACY) | MMC_CAP(MMC_LEGACY) | MMC_MODE_1BIT; +#if !defined(CONFIG_MMC_BROKEN_CD) /* we pretend there's no card when init is NULL */ no_card = mmc_getcd(mmc) == 0; +#else + no_card = 0; +#endif #if !CONFIG_IS_ENABLED(DM_MMC) no_card = no_card || (mmc->cfg->ops->init == NULL); #endif