提交 94c18149 编写于 作者: R Rajendra Nayak 提交者: Chris Ball

mmc: omap_hsmmc: add clk_prepare and clk_unprepare

In preparation for OMAP moving to the Common Clock Framework (CCF)
add clk_prepare() and clk_unprepare() for the hsmmc clocks.
Signed-off-by: NRajendra Nayak <rnayak@ti.com>
Acked-by: NVenkatraman S <svenkatr@ti.com>
Signed-off-by: NChris Ball <cjb@laptop.org>
上级 38cfc2f7
...@@ -1089,7 +1089,7 @@ static int omap_hsmmc_switch_opcond(struct omap_hsmmc_host *host, int vdd) ...@@ -1089,7 +1089,7 @@ static int omap_hsmmc_switch_opcond(struct omap_hsmmc_host *host, int vdd)
/* Disable the clocks */ /* Disable the clocks */
pm_runtime_put_sync(host->dev); pm_runtime_put_sync(host->dev);
if (host->dbclk) if (host->dbclk)
clk_disable(host->dbclk); clk_disable_unprepare(host->dbclk);
/* Turn the power off */ /* Turn the power off */
ret = mmc_slot(host).set_power(host->dev, host->slot_id, 0, 0); ret = mmc_slot(host).set_power(host->dev, host->slot_id, 0, 0);
...@@ -1100,7 +1100,7 @@ static int omap_hsmmc_switch_opcond(struct omap_hsmmc_host *host, int vdd) ...@@ -1100,7 +1100,7 @@ static int omap_hsmmc_switch_opcond(struct omap_hsmmc_host *host, int vdd)
vdd); vdd);
pm_runtime_get_sync(host->dev); pm_runtime_get_sync(host->dev);
if (host->dbclk) if (host->dbclk)
clk_enable(host->dbclk); clk_prepare_enable(host->dbclk);
if (ret != 0) if (ret != 0)
goto err; goto err;
...@@ -1899,7 +1899,7 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev) ...@@ -1899,7 +1899,7 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
if (IS_ERR(host->dbclk)) { if (IS_ERR(host->dbclk)) {
dev_warn(mmc_dev(host->mmc), "Failed to get debounce clk\n"); dev_warn(mmc_dev(host->mmc), "Failed to get debounce clk\n");
host->dbclk = NULL; host->dbclk = NULL;
} else if (clk_enable(host->dbclk) != 0) { } else if (clk_prepare_enable(host->dbclk) != 0) {
dev_warn(mmc_dev(host->mmc), "Failed to enable debounce clk\n"); dev_warn(mmc_dev(host->mmc), "Failed to enable debounce clk\n");
clk_put(host->dbclk); clk_put(host->dbclk);
host->dbclk = NULL; host->dbclk = NULL;
...@@ -2023,7 +2023,7 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev) ...@@ -2023,7 +2023,7 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
pm_runtime_disable(host->dev); pm_runtime_disable(host->dev);
clk_put(host->fclk); clk_put(host->fclk);
if (host->dbclk) { if (host->dbclk) {
clk_disable(host->dbclk); clk_disable_unprepare(host->dbclk);
clk_put(host->dbclk); clk_put(host->dbclk);
} }
err1: err1:
...@@ -2058,7 +2058,7 @@ static int __devexit omap_hsmmc_remove(struct platform_device *pdev) ...@@ -2058,7 +2058,7 @@ static int __devexit omap_hsmmc_remove(struct platform_device *pdev)
pm_runtime_disable(host->dev); pm_runtime_disable(host->dev);
clk_put(host->fclk); clk_put(host->fclk);
if (host->dbclk) { if (host->dbclk) {
clk_disable(host->dbclk); clk_disable_unprepare(host->dbclk);
clk_put(host->dbclk); clk_put(host->dbclk);
} }
...@@ -2116,7 +2116,7 @@ static int omap_hsmmc_suspend(struct device *dev) ...@@ -2116,7 +2116,7 @@ static int omap_hsmmc_suspend(struct device *dev)
} }
if (host->dbclk) if (host->dbclk)
clk_disable(host->dbclk); clk_disable_unprepare(host->dbclk);
err: err:
pm_runtime_put_sync(host->dev); pm_runtime_put_sync(host->dev);
return ret; return ret;
...@@ -2137,7 +2137,7 @@ static int omap_hsmmc_resume(struct device *dev) ...@@ -2137,7 +2137,7 @@ static int omap_hsmmc_resume(struct device *dev)
pm_runtime_get_sync(host->dev); pm_runtime_get_sync(host->dev);
if (host->dbclk) if (host->dbclk)
clk_enable(host->dbclk); clk_prepare_enable(host->dbclk);
if (!(host->mmc->pm_flags & MMC_PM_KEEP_POWER)) if (!(host->mmc->pm_flags & MMC_PM_KEEP_POWER))
omap_hsmmc_conf_bus_power(host); omap_hsmmc_conf_bus_power(host);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册