mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users
authorShawn Guo <shawn.guo@linaro.org>
Tue, 11 Dec 2012 14:32:19 +0000 (22:32 +0800)
committerChris Ball <cjb@laptop.org>
Mon, 11 Feb 2013 17:51:23 +0000 (12:51 -0500)
Since slot-gpio uses devm_* managed functions in mmc_gpio_request_cd()
now, we can remove those mmc_gpio_free_cd() call from host drivers'
.probe() error path and .remove().

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sdhci-pxav3.c
drivers/mmc/host/sh_mmcif.c
drivers/mmc/host/tmio_mmc_pio.c

index fad0966427fd9778d29a80496368b7ccb03d9edd..b7ee7761bc26ada94cd21b8ca7bb51391bcc3afd 100644 (file)
@@ -316,7 +316,6 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
 err_add_host:
        clk_disable_unprepare(clk);
        clk_put(clk);
-       mmc_gpio_free_cd(host->mmc);
 err_cd_req:
 err_clk_get:
        sdhci_pltfm_free(pdev);
@@ -329,16 +328,12 @@ static int sdhci_pxav3_remove(struct platform_device *pdev)
        struct sdhci_host *host = platform_get_drvdata(pdev);
        struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
        struct sdhci_pxa *pxa = pltfm_host->priv;
-       struct sdhci_pxa_platdata *pdata = pdev->dev.platform_data;
 
        sdhci_remove_host(host, 1);
 
        clk_disable_unprepare(pltfm_host->clk);
        clk_put(pltfm_host->clk);
 
-       if (gpio_is_valid(pdata->ext_cd_gpio))
-               mmc_gpio_free_cd(host->mmc);
-
        sdhci_pltfm_free(pdev);
        kfree(pxa);
 
index 9a4c151067dd87841872d39900841a70c1037abc..741aeb95c7a46e32208c2f8e4479dcd6809fe0f4 100644 (file)
@@ -1404,8 +1404,6 @@ static int sh_mmcif_probe(struct platform_device *pdev)
        return ret;
 
 emmcaddh:
-       if (pd && pd->use_cd_gpio)
-               mmc_gpio_free_cd(mmc);
 erqcd:
        free_irq(irq[1], host);
 ereqirq1:
@@ -1427,7 +1425,6 @@ ealloch:
 static int sh_mmcif_remove(struct platform_device *pdev)
 {
        struct sh_mmcif_host *host = platform_get_drvdata(pdev);
-       struct sh_mmcif_plat_data *pd = pdev->dev.platform_data;
        int irq[2];
 
        host->dying = true;
@@ -1436,9 +1433,6 @@ static int sh_mmcif_remove(struct platform_device *pdev)
 
        dev_pm_qos_hide_latency_limit(&pdev->dev);
 
-       if (pd && pd->use_cd_gpio)
-               mmc_gpio_free_cd(host->mmc);
-
        mmc_remove_host(host->mmc);
        sh_mmcif_writel(host->addr, MMCIF_CE_INT_MASK, MASK_ALL);
 
index 50bf495a988b1bc5697a3a6d93984de2e66d58ff..0f992e9ffc736aa34f5b20c2bdd7f22a87f5a215 100644 (file)
@@ -1060,16 +1060,8 @@ EXPORT_SYMBOL(tmio_mmc_host_probe);
 void tmio_mmc_host_remove(struct tmio_mmc_host *host)
 {
        struct platform_device *pdev = host->pdev;
-       struct tmio_mmc_data *pdata = host->pdata;
        struct mmc_host *mmc = host->mmc;
 
-       if (pdata->flags & TMIO_MMC_USE_GPIO_CD)
-               /*
-                * This means we can miss a card-eject, but this is anyway
-                * possible, because of delayed processing of hotplug events.
-                */
-               mmc_gpio_free_cd(mmc);
-
        if (!host->native_hotplug)
                pm_runtime_get_sync(&pdev->dev);