Message ID | cover.1620314616.git.mchehab+huawei@kernel.org |
---|---|
Headers | show |
Series | media: use pm_runtime_resume_and_get() on non-i2c drivers | expand |
Hi Mauro, Thank you for the patch. On Thu, May 06, 2021 at 05:26:01PM +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. > > As a bonus, pm_runtime_resume_and_get() always return 0 on success. > So, the code can be simplified. > > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/media/platform/vsp1/vsp1_drv.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/media/platform/vsp1/vsp1_drv.c b/drivers/media/platform/vsp1/vsp1_drv.c > index aa66e4f5f3f3..de442d6c9926 100644 > --- a/drivers/media/platform/vsp1/vsp1_drv.c > +++ b/drivers/media/platform/vsp1/vsp1_drv.c > @@ -559,15 +559,7 @@ static int vsp1_device_init(struct vsp1_device *vsp1) > */ > int vsp1_device_get(struct vsp1_device *vsp1) > { > - int ret; > - > - ret = pm_runtime_get_sync(vsp1->dev); > - if (ret < 0) { > - pm_runtime_put_noidle(vsp1->dev); > - return ret; > - } > - > - return 0; > + return pm_runtime_resume_and_get(vsp1->dev); > } > > /*
On Thu, May 06, 2021 at 05:25:43PM +0200, Mauro Carvalho Chehab wrote: > @@ -1069,11 +1071,19 @@ static int tegra_vde_probe(struct platform_device *pdev) > * power-cycle it in order to put hardware into a predictable lower > * power state. > */ > - pm_runtime_get_sync(dev); > + if (pm_runtime_resume_and_get(dev) < 0) > + goto err_pm_runtime; Needs an error code on this path. These days the kbuild bot will send a warning for this eventually. > + > pm_runtime_put(dev); > > return 0; > > +err_pm_runtime: > + misc_deregister(&vde->miscdev); > + > + pm_runtime_dont_use_autosuspend(dev); > + pm_runtime_disable(dev); > + > err_deinit_iommu: > tegra_vde_iommu_deinit(vde); > regards, dan carpenter
07.05.2021 08:13, Dan Carpenter пишет: > On Thu, May 06, 2021 at 05:25:43PM +0200, Mauro Carvalho Chehab wrote: >> @@ -1069,11 +1071,19 @@ static int tegra_vde_probe(struct platform_device *pdev) >> * power-cycle it in order to put hardware into a predictable lower >> * power state. >> */ >> - pm_runtime_get_sync(dev); >> + if (pm_runtime_resume_and_get(dev) < 0) >> + goto err_pm_runtime; > > Needs an error code on this path. These days the kbuild bot will send > a warning for this eventually. Good catch, thank you.