Re: [PATCH 56/78] media: coda: use pm_runtime_resume_and_get()

From: Philipp Zabel
Date: Mon Apr 26 2021 - 02:53:37 EST


Hi Mauro,

On Sat, 2021-04-24 at 08:45 +0200, Mauro Carvalho Chehab wrote:
> 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.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> ---
> drivers/media/platform/coda/coda-common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c
> index bd666c858fa1..fea1c136a42c 100644
> --- a/drivers/media/platform/coda/coda-common.c
> +++ b/drivers/media/platform/coda/coda-common.c
> @@ -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;

There's a pm_runtime_put_sync() at the err_pm_get below, so the label
needs to be moved down a line:

@@ -2705,8 +2705,8 @@ static int coda_open(struct file *file)
clk_disable_unprepare(dev->clk_ahb);
err_clk_ahb:
clk_disable_unprepare(dev->clk_per);
-err_pm_get:
pm_runtime_put_sync(dev->dev);
+err_pm_get:
v4l2_fh_del(&ctx->fh);
v4l2_fh_exit(&ctx->fh);
err_coda_name_init:

regards
Philipp