mmc: tmio: move mmc_gpio_request_cd() before mmc_add_host()
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 24 Nov 2017 16:24:43 +0000 (01:24 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 18 Dec 2017 12:56:58 +0000 (13:56 +0100)
Drivers do not need to call mmc_gpiod_request_cd_irq() explicitly
because mmc_start_host() calls it.  To make it work, cd_gpio must
be set before mmc_add_host().

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/tmio_mmc_core.c

index 1abe83b..6b18c05 100644 (file)
@@ -1205,6 +1205,12 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host,
        if (ret < 0)
                return ret;
 
+       if (pdata->flags & TMIO_MMC_USE_GPIO_CD) {
+               ret = mmc_gpio_request_cd(mmc, pdata->cd_gpio, 0);
+               if (ret)
+                       return ret;
+       }
+
        mmc->caps |= MMC_CAP_4_BIT_DATA | pdata->capabilities;
        mmc->caps2 |= pdata->capabilities2;
        mmc->max_segs = pdata->max_segs ? : 32;
@@ -1300,14 +1306,6 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host,
 
        dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
 
-       if (pdata->flags & TMIO_MMC_USE_GPIO_CD) {
-               ret = mmc_gpio_request_cd(mmc, pdata->cd_gpio, 0);
-               if (ret)
-                       goto remove_host;
-
-               mmc_gpiod_request_cd_irq(mmc);
-       }
-
        return 0;
 
 remove_host: