devm_clk_get is device managed and makes error handling and exit code simpler.
Signed-off-by: Sachin Kamat sachin.kamat@linaro.org --- drivers/gpu/drm/exynos/exynos_drm_fimd.c | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c index ad04edd..57851cc 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c @@ -846,14 +846,14 @@ static int __devinit fimd_probe(struct platform_device *pdev) if (!ctx) return -ENOMEM;
- ctx->bus_clk = clk_get(dev, "fimd"); + ctx->bus_clk = devm_clk_get(dev, "fimd"); if (IS_ERR(ctx->bus_clk)) { dev_err(dev, "failed to get bus clock\n"); ret = PTR_ERR(ctx->bus_clk); goto err_clk_get; }
- ctx->lcd_clk = clk_get(dev, "sclk_fimd"); + ctx->lcd_clk = devm_clk_get(dev, "sclk_fimd"); if (IS_ERR(ctx->lcd_clk)) { dev_err(dev, "failed to get lcd clock\n"); ret = PTR_ERR(ctx->lcd_clk); @@ -918,11 +918,9 @@ static int __devinit fimd_probe(struct platform_device *pdev)
err_clk: clk_disable(ctx->lcd_clk); - clk_put(ctx->lcd_clk);
err_bus_clk: clk_disable(ctx->bus_clk); - clk_put(ctx->bus_clk);
err_clk_get: return ret; @@ -949,9 +947,6 @@ static int __devexit fimd_remove(struct platform_device *pdev) out: pm_runtime_disable(dev);
- clk_put(ctx->lcd_clk); - clk_put(ctx->bus_clk); - return 0; }