Przeglądaj źródła

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 <david@lechnology.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
David Lechner 9 lat temu
rodzic
commit
e2f3bfbdc9
1 zmienionych plików z 5 dodań i 5 usunięć
  1. 5 5
      drivers/mmc/host/davinci_mmc.c

+ 5 - 5
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);
 		ret = PTR_ERR(host->clk);
 		goto clk_get_fail;
 		goto clk_get_fail;
 	}
 	}
-	ret = clk_enable(host->clk);
+	ret = clk_prepare_enable(host->clk);
 	if (ret)
 	if (ret)
-		goto clk_enable_fail;
+		goto clk_prepare_enable_fail;
 
 
 	host->mmc_input_clk = clk_get_rate(host->clk);
 	host->mmc_input_clk = clk_get_rate(host->clk);
 
 
@@ -1353,8 +1353,8 @@ mmc_add_host_fail:
 cpu_freq_fail:
 cpu_freq_fail:
 	davinci_release_dma_channels(host);
 	davinci_release_dma_channels(host);
 dma_probe_defer:
 dma_probe_defer:
-	clk_disable(host->clk);
-clk_enable_fail:
+	clk_disable_unprepare(host->clk);
+clk_prepare_enable_fail:
 clk_get_fail:
 clk_get_fail:
 ioremap_fail:
 ioremap_fail:
 	mmc_free_host(mmc);
 	mmc_free_host(mmc);
@@ -1369,7 +1369,7 @@ static int __exit davinci_mmcsd_remove(struct platform_device *pdev)
 	mmc_remove_host(host->mmc);
 	mmc_remove_host(host->mmc);
 	mmc_davinci_cpufreq_deregister(host);
 	mmc_davinci_cpufreq_deregister(host);
 	davinci_release_dma_channels(host);
 	davinci_release_dma_channels(host);
-	clk_disable(host->clk);
+	clk_disable_unprepare(host->clk);
 	mmc_free_host(host->mmc);
 	mmc_free_host(host->mmc);
 
 
 	return 0;
 	return 0;