On Thu, May 16, 2019 at 09:23:41AM +0200, Geert Uytterhoeven wrote: > On Thu, May 16, 2019 at 3:46 AM Niklas Söderlund wrote: > > The driver does not implement runtime resume and suspend function so > > there is little point in trying to call them. This is a leftover from > > the drivers soc_camera beginnings. > > > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > > Reviewed-by: Ulrich Hecht <uli+renesas@xxxxxxxx> > > --- > > drivers/media/platform/rcar-vin/rcar-v4l2.c | 5 ----- > > 1 file changed, 5 deletions(-) > > > > diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c > > index 7cbdcbf9b090c638..b821ea01786eb1ff 100644 > > --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c > > +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c > > @@ -798,9 +798,6 @@ static int rvin_initialize_device(struct file *file) > > return ret; > > > > pm_runtime_enable(&vin->vdev.dev); > > - ret = pm_runtime_resume(&vin->vdev.dev); > > Please pardon my ignorance, but which device is vin->vdev.dev? This is the V4L2 video node class device, we shouldn't call any runtime PM function with this. I assume the current code works because the class device is a child of the physical device. > Who calls pm_runtime_get_sync() on it, and where? > > I see this function calls rvin_power_on(vin->v4l2_dev.dev) (before the > call to pm_runtime_enable()), but presumably that's a different device? That one is the physical platform device. -- Regards, Laurent Pinchart