From: David Lechner Date: Tue, 5 Apr 2016 17:31:50 +0000 (-0500) Subject: mmc: davinci: prepare clock X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e2f3bfbdc9f4929d767bc0d8033322a72d51193e;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git mmc: davinci: prepare clock When trying to use this driver with the common clock framework, enabling the clock fails because it was not prepared. This fixes the problem by calling clk_prepare and clk_enable in a single function. Ditto for clk_disable_unprepare. Signed-off-by: David Lechner Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c index 850321421b57..a56373c75983 100644 --- a/drivers/mmc/host/davinci_mmc.c +++ b/drivers/mmc/host/davinci_mmc.c @@ -1245,9 +1245,9 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev) ret = PTR_ERR(host->clk); goto clk_get_fail; } - ret = clk_enable(host->clk); + ret = clk_prepare_enable(host->clk); if (ret) - goto clk_enable_fail; + goto clk_prepare_enable_fail; host->mmc_input_clk = clk_get_rate(host->clk); @@ -1353,8 +1353,8 @@ mmc_add_host_fail: cpu_freq_fail: davinci_release_dma_channels(host); dma_probe_defer: - clk_disable(host->clk); -clk_enable_fail: + clk_disable_unprepare(host->clk); +clk_prepare_enable_fail: clk_get_fail: ioremap_fail: mmc_free_host(mmc); @@ -1369,7 +1369,7 @@ static int __exit davinci_mmcsd_remove(struct platform_device *pdev) mmc_remove_host(host->mmc); mmc_davinci_cpufreq_deregister(host); davinci_release_dma_channels(host); - clk_disable(host->clk); + clk_disable_unprepare(host->clk); mmc_free_host(host->mmc); return 0;