diff options
author | Dong Aisheng <b29396@freescale.com> | 2013-11-11 03:44:19 -0500 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 09:47:09 -0400 |
commit | b072ad13ccef119abd6c65ebd5050a8dca50bd2d (patch) | |
tree | d7dde790b92881a1cd34af6f93b4718349c80e26 /drivers/mmc | |
parent | eb22f8818c423968993d478014059fed2f1874e4 (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.c | 6 |
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: | |||
1169 | static int sdhci_esdhc_imx_remove(struct platform_device *pdev) | 1169 | static 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; |