[PATCH 2/2] mmc: dw_mmc: Add a DISABLE_MMC quirk that sets the core mmc cap
On some systems we need a way to disable MMC card support in a MMC/SD card slot. Add support in the dw_mmc to support this. Signed-off-by: Doug Anderson --- drivers/mmc/host/dw_mmc.c |3 +++ include/linux/mmc/dw_mmc.h |2 ++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index af40d22..09111bf 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1810,6 +1810,9 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id) if (host->pdata->quirks & DW_MCI_QUIRK_HIGHSPEED) mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED; + if (host->pdata->quirks & DW_MCI_QUIRK_DISABLE_MMC) + mmc->caps2 |= MMC_CAP2_NO_MMC; + if (mmc->caps2 & MMC_CAP2_POWEROFF_NOTIFY) mmc->power_notify_type = MMC_HOST_PW_NOTIFY_SHORT; else diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h index 7a7ebd3..5eaa9b9 100644 --- a/include/linux/mmc/dw_mmc.h +++ b/include/linux/mmc/dw_mmc.h @@ -201,6 +201,8 @@ struct dw_mci_dma_ops { #define DW_MCI_QUIRK_HIGHSPEED BIT(2) /* Unreliable card detection */ #define DW_MCI_QUIRK_BROKEN_CARD_DETECTION BIT(3) +/* Only support SD cards, not MMC */ +#define DW_MCI_QUIRK_DISABLE_MMC BIT(4) struct dma_pdata; -- 1.7.7.3 -- 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/
[PATCH 2/2] mmc: dw_mmc: Add a DISABLE_MMC quirk that sets the core mmc cap
On some systems we need a way to disable MMC card support in a MMC/SD card slot. Add support in the dw_mmc to support this. Signed-off-by: Doug Anderson diand...@chromium.org --- drivers/mmc/host/dw_mmc.c |3 +++ include/linux/mmc/dw_mmc.h |2 ++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index af40d22..09111bf 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1810,6 +1810,9 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id) if (host-pdata-quirks DW_MCI_QUIRK_HIGHSPEED) mmc-caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED; + if (host-pdata-quirks DW_MCI_QUIRK_DISABLE_MMC) + mmc-caps2 |= MMC_CAP2_NO_MMC; + if (mmc-caps2 MMC_CAP2_POWEROFF_NOTIFY) mmc-power_notify_type = MMC_HOST_PW_NOTIFY_SHORT; else diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h index 7a7ebd3..5eaa9b9 100644 --- a/include/linux/mmc/dw_mmc.h +++ b/include/linux/mmc/dw_mmc.h @@ -201,6 +201,8 @@ struct dw_mci_dma_ops { #define DW_MCI_QUIRK_HIGHSPEED BIT(2) /* Unreliable card detection */ #define DW_MCI_QUIRK_BROKEN_CARD_DETECTION BIT(3) +/* Only support SD cards, not MMC */ +#define DW_MCI_QUIRK_DISABLE_MMC BIT(4) struct dma_pdata; -- 1.7.7.3 -- 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/