aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-12-11 09:32:19 -0500
committerChris Ball <cjb@laptop.org>2013-02-11 12:51:23 -0500
commit164cda5236acf833f22a3edafdf8b95a7de7b402 (patch)
treeb3454982280dd6a88fadfa194700d9ef3d1ffb8c /drivers/mmc
parentd65b5ae8dabf48d8e7811a5319ec581e41b04d62 (diff)
mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users
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>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-pxav3.c5
-rw-r--r--drivers/mmc/host/sh_mmcif.c6
-rw-r--r--drivers/mmc/host/tmio_mmc_pio.c8
3 files changed, 0 insertions, 19 deletions
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index fad0966427fd..b7ee7761bc26 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -316,7 +316,6 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
316err_add_host: 316err_add_host:
317 clk_disable_unprepare(clk); 317 clk_disable_unprepare(clk);
318 clk_put(clk); 318 clk_put(clk);
319 mmc_gpio_free_cd(host->mmc);
320err_cd_req: 319err_cd_req:
321err_clk_get: 320err_clk_get:
322 sdhci_pltfm_free(pdev); 321 sdhci_pltfm_free(pdev);
@@ -329,16 +328,12 @@ static int sdhci_pxav3_remove(struct platform_device *pdev)
329 struct sdhci_host *host = platform_get_drvdata(pdev); 328 struct sdhci_host *host = platform_get_drvdata(pdev);
330 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); 329 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
331 struct sdhci_pxa *pxa = pltfm_host->priv; 330 struct sdhci_pxa *pxa = pltfm_host->priv;
332 struct sdhci_pxa_platdata *pdata = pdev->dev.platform_data;
333 331
334 sdhci_remove_host(host, 1); 332 sdhci_remove_host(host, 1);
335 333
336 clk_disable_unprepare(pltfm_host->clk); 334 clk_disable_unprepare(pltfm_host->clk);
337 clk_put(pltfm_host->clk); 335 clk_put(pltfm_host->clk);
338 336
339 if (gpio_is_valid(pdata->ext_cd_gpio))
340 mmc_gpio_free_cd(host->mmc);
341
342 sdhci_pltfm_free(pdev); 337 sdhci_pltfm_free(pdev);
343 kfree(pxa); 338 kfree(pxa);
344 339
diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index 9a4c151067dd..741aeb95c7a4 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -1404,8 +1404,6 @@ static int sh_mmcif_probe(struct platform_device *pdev)
1404 return ret; 1404 return ret;
1405 1405
1406emmcaddh: 1406emmcaddh:
1407 if (pd && pd->use_cd_gpio)
1408 mmc_gpio_free_cd(mmc);
1409erqcd: 1407erqcd:
1410 free_irq(irq[1], host); 1408 free_irq(irq[1], host);
1411ereqirq1: 1409ereqirq1:
@@ -1427,7 +1425,6 @@ ealloch:
1427static int sh_mmcif_remove(struct platform_device *pdev) 1425static int sh_mmcif_remove(struct platform_device *pdev)
1428{ 1426{
1429 struct sh_mmcif_host *host = platform_get_drvdata(pdev); 1427 struct sh_mmcif_host *host = platform_get_drvdata(pdev);
1430 struct sh_mmcif_plat_data *pd = pdev->dev.platform_data;
1431 int irq[2]; 1428 int irq[2];
1432 1429
1433 host->dying = true; 1430 host->dying = true;
@@ -1436,9 +1433,6 @@ static int sh_mmcif_remove(struct platform_device *pdev)
1436 1433
1437 dev_pm_qos_hide_latency_limit(&pdev->dev); 1434 dev_pm_qos_hide_latency_limit(&pdev->dev);
1438 1435
1439 if (pd && pd->use_cd_gpio)
1440 mmc_gpio_free_cd(host->mmc);
1441
1442 mmc_remove_host(host->mmc); 1436 mmc_remove_host(host->mmc);
1443 sh_mmcif_writel(host->addr, MMCIF_CE_INT_MASK, MASK_ALL); 1437 sh_mmcif_writel(host->addr, MMCIF_CE_INT_MASK, MASK_ALL);
1444 1438
diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
index 50bf495a988b..0f992e9ffc73 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
@@ -1060,16 +1060,8 @@ EXPORT_SYMBOL(tmio_mmc_host_probe);
1060void tmio_mmc_host_remove(struct tmio_mmc_host *host) 1060void tmio_mmc_host_remove(struct tmio_mmc_host *host)
1061{ 1061{
1062 struct platform_device *pdev = host->pdev; 1062 struct platform_device *pdev = host->pdev;
1063 struct tmio_mmc_data *pdata = host->pdata;
1064 struct mmc_host *mmc = host->mmc; 1063 struct mmc_host *mmc = host->mmc;
1065 1064
1066 if (pdata->flags & TMIO_MMC_USE_GPIO_CD)
1067 /*
1068 * This means we can miss a card-eject, but this is anyway
1069 * possible, because of delayed processing of hotplug events.
1070 */
1071 mmc_gpio_free_cd(mmc);
1072
1073 if (!host->native_hotplug) 1065 if (!host->native_hotplug)
1074 pm_runtime_get_sync(&pdev->dev); 1066 pm_runtime_get_sync(&pdev->dev);
1075 1067