On 23 November 2012 15:21, Inki Dae <inki.dae@xxxxxxxxxxx> wrote: > The subject mentions just only 'use devm_clk_get in exynos_dev_fimd.c' but > this patch removes unnecessary clk_disable calls also. Just separate this > patch into two as you mentioned. For this, already applied old one. So could > you send another one? Sorry for inconvenient. :) He he.. no problem.. i will send another patch which just contains removing clk_disable. > > Thanks, > Inki Dae > >> -----Original Message----- >> From: Sachin Kamat [mailto:sachin.kamat@xxxxxxxxxx] >> Sent: Friday, November 23, 2012 5:43 PM >> To: dri-devel@xxxxxxxxxxxxxxxxxxxxx >> Cc: inki.dae@xxxxxxxxxxx; sachin.kamat@xxxxxxxxxx; patches@xxxxxxxxxx >> Subject: [PATCH Resend] drm/exynos: Use devm_clk_get in exynos_drm_fimd.c >> >> devm_clk_get is device managed and makes error handling and exit code >> simpler. >> >> Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxx> >> --- >> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 31 > ++++++-------------------- >> --- >> 1 files changed, 7 insertions(+), 24 deletions(-) >> >> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c >> b/drivers/gpu/drm/exynos/exynos_drm_fimd.c >> index ad04edd..00bd266 100644 >> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c >> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c >> @@ -846,18 +846,16 @@ 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; >> + return PTR_ERR(ctx->bus_clk); >> } >> >> - 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); >> - goto err_bus_clk; >> + return PTR_ERR(ctx->lcd_clk); >> } >> >> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >> @@ -865,14 +863,13 @@ static int __devinit fimd_probe(struct >> platform_device *pdev) >> ctx->regs = devm_request_and_ioremap(&pdev->dev, res); >> if (!ctx->regs) { >> dev_err(dev, "failed to map registers\n"); >> - ret = -ENXIO; >> - goto err_clk; >> + return -ENXIO; >> } >> >> res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); >> if (!res) { >> dev_err(dev, "irq request failed.\n"); >> - goto err_clk; >> + return -ENXIO; >> } >> >> ctx->irq = res->start; >> @@ -881,7 +878,7 @@ static int __devinit fimd_probe(struct platform_device >> *pdev) >> 0, "drm_fimd", ctx); >> if (ret) { >> dev_err(dev, "irq request failed.\n"); >> - goto err_clk; >> + return ret; >> } >> >> ctx->vidcon0 = pdata->vidcon0; >> @@ -915,17 +912,6 @@ static int __devinit fimd_probe(struct >> platform_device *pdev) >> exynos_drm_subdrv_register(subdrv); >> >> return 0; >> - >> -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; >> } >> >> static int __devexit fimd_remove(struct platform_device *pdev) >> @@ -949,9 +935,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; >> } >> >> -- >> 1.7.4.1 > -- With warm regards, Sachin _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel