Commit dfcba5ff authored by Wolfram Sang's avatar Wolfram Sang Committed by Ulf Hansson

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: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 44bf2312
...@@ -900,6 +900,12 @@ static int tmio_mmc_clk_enable(struct tmio_mmc_host *host) ...@@ -900,6 +900,12 @@ static int tmio_mmc_clk_enable(struct tmio_mmc_host *host)
return host->clk_enable(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) static void tmio_mmc_power_on(struct tmio_mmc_host *host, unsigned short vdd)
{ {
struct mmc_host *mmc = host->mmc; struct mmc_host *mmc = host->mmc;
...@@ -1284,6 +1290,8 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host) ...@@ -1284,6 +1290,8 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host)
pm_runtime_put_sync(&pdev->dev); pm_runtime_put_sync(&pdev->dev);
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
tmio_mmc_clk_disable(host);
} }
EXPORT_SYMBOL(tmio_mmc_host_remove); EXPORT_SYMBOL(tmio_mmc_host_remove);
...@@ -1298,8 +1306,7 @@ int tmio_mmc_host_runtime_suspend(struct device *dev) ...@@ -1298,8 +1306,7 @@ int tmio_mmc_host_runtime_suspend(struct device *dev)
if (host->clk_cache) if (host->clk_cache)
tmio_mmc_clk_stop(host); tmio_mmc_clk_stop(host);
if (host->clk_disable) tmio_mmc_clk_disable(host);
host->clk_disable(host);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment