On Fri, May 25, 2018 at 4:12 PM jacopo mondi <jacopo@xxxxxxxxxx> wrote: > Hi Tomasz, > On Fri, May 25, 2018 at 03:18:38PM +0900, Tomasz Figa wrote: > > On Fri, May 25, 2018 at 5:47 AM Sakari Ailus < sakari.ailus@xxxxxxxxxxxxxxx> > > wrote: > > > > > Hi Jacopo, > > > > > On Thu, May 24, 2018 at 10:07:38PM +0200, jacopo mondi wrote: > > > ... > > > > > > about that, but I wonder why setting controls should be enabled only > > > > > > when streaming. I would have expected runtime_pm_get/put in > > subdevices > > > > > > node open/close functions not only when streaming. Am I missing > > something? > > > > > > > > > > You can do it either way. If powering on the sensor takes a long > > time, then > > > > > doing that in the open callback may be helpful as the user space has > > a way > > > > > to keep the device powered. > > > > > > > > Ok, so I assume my comment could be ignored, assuming is fine not > > > > being able to set control if the sensor is not streaming. Is it? > > > > > I'd say so. From the user's point of view, the sensor doesn't really do > > > anything when it's in software standby mode. > > > > Just to make sure we're on the same page, the code actually does nothing > > when the sensor is not in streaming mode (i.e. powered off). When stream is > > being started, the V4L2 control framework will call s_ctrl for all the > > controls in the handler to synchronize hardware state and this is when all > > the controls set before powering on will actually be programmed into the > > hardware registers. > Thanks, I had missed that part. > I quickly tried searching for 's_ctrl' calls in the v4l2-core/ code > and I've found nothing that invokes that in response to a streaming > start operation. Just if you happen to have any reference handy, could > you please point me to that part, just for my better understanding? The driver does it itself by calling __v4l2_ctrl_handler_setup() from its .start_streaming() callback. Best regards, Tomasz