diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-12-11 09:32:19 -0500 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2013-02-11 12:51:23 -0500 |
commit | 164cda5236acf833f22a3edafdf8b95a7de7b402 (patch) | |
tree | b3454982280dd6a88fadfa194700d9ef3d1ffb8c /drivers/mmc | |
parent | d65b5ae8dabf48d8e7811a5319ec581e41b04d62 (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.c | 5 | ||||
-rw-r--r-- | drivers/mmc/host/sh_mmcif.c | 6 | ||||
-rw-r--r-- | drivers/mmc/host/tmio_mmc_pio.c | 8 |
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) | |||
316 | err_add_host: | 316 | err_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); | ||
320 | err_cd_req: | 319 | err_cd_req: |
321 | err_clk_get: | 320 | err_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 | ||
1406 | emmcaddh: | 1406 | emmcaddh: |
1407 | if (pd && pd->use_cd_gpio) | ||
1408 | mmc_gpio_free_cd(mmc); | ||
1409 | erqcd: | 1407 | erqcd: |
1410 | free_irq(irq[1], host); | 1408 | free_irq(irq[1], host); |
1411 | ereqirq1: | 1409 | ereqirq1: |
@@ -1427,7 +1425,6 @@ ealloch: | |||
1427 | static int sh_mmcif_remove(struct platform_device *pdev) | 1425 | static 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); | |||
1060 | void tmio_mmc_host_remove(struct tmio_mmc_host *host) | 1060 | void 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 | ||