Hi Biju, On Fri, Mar 11, 2022 at 11:38 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > As the resets DT property is mandatory, and is present in all .dtsi > in mainline, add support to perform deassert/assert using reference > counted reset handle. > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > --- > v2->v3: > * Added Rb tag from Philipp > * If reset_control_deassert() failed, return ret directly. Thanks for the update! > --- a/drivers/media/platform/vsp1/vsp1_drv.c > +++ b/drivers/media/platform/vsp1/vsp1_drv.c > @@ -16,6 +16,7 @@ > #include <linux/of_device.h> > #include <linux/platform_device.h> > #include <linux/pm_runtime.h> > +#include <linux/reset.h> > #include <linux/videodev2.h> > > #include <media/rcar-fcp.h> > @@ -569,6 +570,11 @@ static void vsp1_mask_all_interrupts(struct vsp1_device *vsp1) > */ > int vsp1_device_get(struct vsp1_device *vsp1) > { > + int ret = reset_control_deassert(vsp1->rstc); > + > + if (ret < 0) > + return ret; > + > return pm_runtime_resume_and_get(vsp1->dev); You've removed too much :-( If pm_runtime_resume_and_get() fails, so still need to assert the reset again. The rest LGTM. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds