aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorDong Aisheng <b29396@freescale.com>2013-11-11 03:44:19 -0500
committerNitin Garg <nitin.garg@freescale.com>2014-04-16 09:47:09 -0400
commitb072ad13ccef119abd6c65ebd5050a8dca50bd2d (patch)
treed7dde790b92881a1cd34af6f93b4718349c80e26 /drivers/mmc
parenteb22f8818c423968993d478014059fed2f1874e4 (diff)
ENGR00287331-3 sdhci-esdhc-imx: do not need disable clock during remove function
Since the clock is managed by runtime pm currently, we do not need disable it again during driver remove function, or it will cause clock disable count mismatch issue since the clocks have already been disabled. mx6slevk:/sys/bus/platform/drivers/sdhci-esdhc-imx# echo 2194000.usdhc > unbind mmc1: card aaaa removed ------------[ cut here ]------------ WARNING: at drivers/clk/clk.c:780 clk_disable+0x18/0x24() .... Signed-off-by: Dong Aisheng <b29396@freescale.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-esdhc-imx.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 26a0f762d644..9ac080b763e3 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1169,8 +1169,6 @@ free_sdhci:
1169static int sdhci_esdhc_imx_remove(struct platform_device *pdev) 1169static int sdhci_esdhc_imx_remove(struct platform_device *pdev)
1170{ 1170{
1171 struct sdhci_host *host = platform_get_drvdata(pdev); 1171 struct sdhci_host *host = platform_get_drvdata(pdev);
1172 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
1173 struct pltfm_imx_data *imx_data = pltfm_host->priv;
1174 int dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff); 1172 int dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff);
1175 1173
1176 sdhci_remove_host(host, dead); 1174 sdhci_remove_host(host, dead);
@@ -1178,10 +1176,6 @@ static int sdhci_esdhc_imx_remove(struct platform_device *pdev)
1178 pm_runtime_dont_use_autosuspend(&pdev->dev); 1176 pm_runtime_dont_use_autosuspend(&pdev->dev);
1179 pm_runtime_disable(&pdev->dev); 1177 pm_runtime_disable(&pdev->dev);
1180 1178
1181 clk_disable_unprepare(imx_data->clk_per);
1182 clk_disable_unprepare(imx_data->clk_ipg);
1183 clk_disable_unprepare(imx_data->clk_ahb);
1184
1185 sdhci_pltfm_free(pdev); 1179 sdhci_pltfm_free(pdev);
1186 1180
1187 return 0; 1181 return 0;