On some systems we need a way to disable MMC card support in a MMC/SD
card slot due to the legal concern.

Add support in the core SD/MMC code to support this.

Signed-off-by: Doug Anderson <diand...@chromium.org>
Signed-off-by: Alim Akhtar <alim.akh...@samsung.com>
Signed-off-by: Adam Lee <adam....@canonical.com>
---
 drivers/mmc/core/core.c  |    2 +-
 include/linux/mmc/host.h |    1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index c40396f..4788b88 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -2271,7 +2271,7 @@ static int mmc_rescan_try_freq(struct mmc_host *host, 
unsigned freq)
                return 0;
        if (!mmc_attach_sd(host))
                return 0;
-       if (!mmc_attach_mmc(host))
+       if (!(host->caps2 & MMC_CAP2_NO_MMC) && !mmc_attach_mmc(host))
                return 0;
 
        mmc_power_off(host);
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index e326ae2..ffe5c3d 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -281,6 +281,7 @@ struct mmc_host {
 #define MMC_CAP2_PACKED_CMD    (MMC_CAP2_PACKED_RD | \
                                 MMC_CAP2_PACKED_WR)
 #define MMC_CAP2_NO_PRESCAN_POWERUP (1 << 14)  /* Don't power up before scan */
+#define MMC_CAP2_NO_MMC                (1 << 15)       /* Only SD supported, 
not MMC */
 
        mmc_pm_flag_t           pm_caps;        /* supported pm features */
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to