mmc: android-goldfish: Enable MMC_CAP2_NO_SDIO
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 1 Apr 2020 14:55:31 +0000 (16:55 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 28 May 2020 09:20:56 +0000 (11:20 +0200)
Instead of explicitly checking for SDIO specific requests and then
returning an error code, let's set MMC_CAP2_NO_SDIO to tell the mmc core to
prevent them altogether.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20200401145531.23247-1-ulf.hansson@linaro.org
drivers/mmc/host/android-goldfish.c

index 914e17b..ceb4924 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/mutex.h>
 #include <linux/scatterlist.h>
 #include <linux/mmc/mmc.h>
-#include <linux/mmc/sdio.h>
 #include <linux/mmc/host.h>
 #include <linux/mmc/card.h>
 
@@ -404,14 +403,6 @@ static void goldfish_mmc_request(struct mmc_host *mmc, struct mmc_request *req)
        host->mrq = req;
        goldfish_mmc_prepare_data(host, req);
        goldfish_mmc_start_command(host, req->cmd);
-
-       /*
-        * This is to avoid accidentally being detected as an SDIO card
-        * in mmc_attach_sdio().
-        */
-       if (req->cmd->opcode == SD_IO_SEND_OP_COND &&
-           req->cmd->flags == (MMC_RSP_SPI_R4 | MMC_RSP_R4 | MMC_CMD_BCR))
-               req->cmd->error = -EINVAL;
 }
 
 static void goldfish_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
@@ -482,6 +473,7 @@ static int goldfish_mmc_probe(struct platform_device *pdev)
        mmc->f_max = 24000000;
        mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
        mmc->caps = MMC_CAP_4_BIT_DATA;
+       mmc->caps2 = MMC_CAP2_NO_SDIO;
 
        /* Use scatterlist DMA to reduce per-transfer costs.
         * NOTE max_seg_size assumption that small blocks aren't