diff options
author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2017-01-17 21:26:01 +0100 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2017-02-13 13:20:32 +0100 |
commit | dfcba5ffca989749d1fc49d5b82a2d007b1295b7 (patch) | |
tree | 5f45f8865388ff4cbba2013571be3caf3ba9a97d /drivers/mmc/host | |
parent | 44bf23128f48eabddb7cd6a44b369f0b1e66de97 (diff) | |
download | linux-stable-dfcba5ffca989749d1fc49d5b82a2d007b1295b7.tar.gz linux-stable-dfcba5ffca989749d1fc49d5b82a2d007b1295b7.tar.bz2 linux-stable-dfcba5ffca989749d1fc49d5b82a2d007b1295b7.zip |
mmc: host: tmio: disable clocks when unbinding
Create a helper function to disable clocks and use it in remove(), too.
Now, clk_summary in debugfs reports the clocks as disabled and
unprepared after unbinding.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r-- | drivers/mmc/host/tmio_mmc_pio.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c index 908186adf52d..4a498ae7d6d7 100644 --- a/drivers/mmc/host/tmio_mmc_pio.c +++ b/drivers/mmc/host/tmio_mmc_pio.c @@ -900,6 +900,12 @@ static int tmio_mmc_clk_enable(struct tmio_mmc_host *host) return host->clk_enable(host); } +static void tmio_mmc_clk_disable(struct tmio_mmc_host *host) +{ + if (host->clk_disable) + host->clk_disable(host); +} + static void tmio_mmc_power_on(struct tmio_mmc_host *host, unsigned short vdd) { struct mmc_host *mmc = host->mmc; @@ -1284,6 +1290,8 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host) pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); + + tmio_mmc_clk_disable(host); } EXPORT_SYMBOL(tmio_mmc_host_remove); @@ -1298,8 +1306,7 @@ int tmio_mmc_host_runtime_suspend(struct device *dev) if (host->clk_cache) tmio_mmc_clk_stop(host); - if (host->clk_disable) - host->clk_disable(host); + tmio_mmc_clk_disable(host); return 0; } |