OSDN Git Service

media: coda: use pm_runtime_resume_and_get()
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 23 Apr 2021 15:19:17 +0000 (17:19 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 19 May 2021 07:51:42 +0000 (09:51 +0200)
Commit dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter")
added pm_runtime_resume_and_get() in order to automatically handle
dev->power.usage_count decrement on errors.

Use the new API, in order to cleanup the error check logic.

While here, as noted by Phillip, the labels at the coda_open()
function are currently named after what operation failed,
instead of what they do in response. So, change the name of
the error label that it is called when clk_enable fails,
in order to be consistent.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/coda/coda-common.c

index bd666c8..2017de8 100644 (file)
@@ -2660,7 +2660,7 @@ static int coda_open(struct file *file)
        ctx->use_vdoa = false;
 
        /* Power up and upload firmware if necessary */
-       ret = pm_runtime_get_sync(dev->dev);
+       ret = pm_runtime_resume_and_get(dev->dev);
        if (ret < 0) {
                v4l2_err(&dev->v4l2_dev, "failed to power up: %d\n", ret);
                goto err_pm_get;
@@ -2668,7 +2668,7 @@ static int coda_open(struct file *file)
 
        ret = clk_prepare_enable(dev->clk_per);
        if (ret)
-               goto err_pm_get;
+               goto err_clk_enable;
 
        ret = clk_prepare_enable(dev->clk_ahb);
        if (ret)
@@ -2707,8 +2707,9 @@ err_ctx_init:
        clk_disable_unprepare(dev->clk_ahb);
 err_clk_ahb:
        clk_disable_unprepare(dev->clk_per);
-err_pm_get:
+err_clk_enable:
        pm_runtime_put_sync(dev->dev);
+err_pm_get:
        v4l2_fh_del(&ctx->fh);
        v4l2_fh_exit(&ctx->fh);
 err_coda_name_init: