summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Sajjan <vikas.sajjan@linaro.org>2013-04-23 17:19:50 +0530
committerInki Dae <inki.dae@samsung.com>2013-04-29 14:35:31 +0900
commit11963a638f7ac30f926f4358f7f699828408bb96 (patch)
tree1923ee45cc7afe62b3689e1a9e6d64a1ee390b4a
parentbaa88c8313bfdb5086220cbd962a93617ee85a91 (diff)
downloadlinux-11963a638f7ac30f926f4358f7f699828408bb96.tar.gz
linux-11963a638f7ac30f926f4358f7f699828408bb96.tar.bz2
linux-11963a638f7ac30f926f4358f7f699828408bb96.zip
drm/exynos: enable FIMD clocks
Common Clock Framework introduced the need to prepare clocks before enabling them, otherwise clk_enable() fails. This patch adds clk_prepare_enable and clk_disable_unprepare() calls to the driver. This patch also removes clk_disable() from fimd_remove() as it will be done by pm_runtime_put_sync. Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimd.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 4073430e22c3..746b282b343a 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -801,18 +801,18 @@ static int fimd_clock(struct fimd_context *ctx, bool enable)
if (enable) {
int ret;
- ret = clk_enable(ctx->bus_clk);
+ ret = clk_prepare_enable(ctx->bus_clk);
if (ret < 0)
return ret;
- ret = clk_enable(ctx->lcd_clk);
+ ret = clk_prepare_enable(ctx->lcd_clk);
if (ret < 0) {
- clk_disable(ctx->bus_clk);
+ clk_disable_unprepare(ctx->bus_clk);
return ret;
}
} else {
- clk_disable(ctx->lcd_clk);
- clk_disable(ctx->bus_clk);
+ clk_disable_unprepare(ctx->lcd_clk);
+ clk_disable_unprepare(ctx->bus_clk);
}
return 0;
@@ -996,9 +996,6 @@ static int fimd_remove(struct platform_device *pdev)
if (ctx->suspended)
goto out;
- clk_disable(ctx->lcd_clk);
- clk_disable(ctx->bus_clk);
-
pm_runtime_set_suspended(dev);
pm_runtime_put_sync(dev);