Re: [PATCH v3 61/79] media: coda: use pm_runtime_resume_and_get()
From: Philipp Zabel
Date: Tue Apr 27 2021 - 06:54:35 EST
On Tue, 2021-04-27 at 12:26 +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 | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c
> index bd666c858fa1..13ff05e7d850 100644
> --- a/drivers/media/platform/coda/coda-common.c
> +++ b/drivers/media/platform/coda/coda-common.c
> @@ -2660,10 +2660,10 @@ 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;
> + goto err_fh_del;
> }
>
> ret = clk_prepare_enable(dev->clk_per);
> @@ -2709,6 +2709,7 @@ static int coda_open(struct file *file)
> clk_disable_unprepare(dev->clk_per);
> err_pm_get:
Oh right, the PER clk enable also fails through this label. Thanks!
Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
> pm_runtime_put_sync(dev->dev);
> +err_fh_del:
Just a note that - contrary to what coding-style suggests - the other
labels in this function are currently named after what operation failed,
instead of what they do in response.
regards
Philipp