Message ID | 18b66005a971b96fd50fea61da138a1bcc68bd8c.1619519080.git.mchehab+huawei@kernel.org |
---|---|
State | New |
Headers | show |
Series | None | expand |
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@kernel.org> > --- > 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@pengutronix.de> > 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
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: pm_runtime_put_sync(dev->dev); +err_fh_del: v4l2_fh_del(&ctx->fh); v4l2_fh_exit(&ctx->fh); err_coda_name_init:
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@kernel.org> --- drivers/media/platform/coda/coda-common.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)