The caller must always call the s_power() op symmetrically powering the device on and off. This is the practice albeit it was not documented. A lot of sub-device drivers rely on it, so document it accordingly. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> --- include/media/v4l2-subdev.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index 0ab1c5d..b4e521d 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h @@ -172,8 +172,10 @@ struct v4l2_subdev_io_pin_config { * * @s_register: callback for %VIDIOC_G_REGISTER ioctl handler code. * - * @s_power: puts subdevice in power saving mode (on == 0) or normal operation - * mode (on == 1). + * @s_power: Puts subdevice in power saving mode (on == 0) or normal operation + * mode (on == 1). The caller is responsible for calling the op + * symmetrically, i.e. calling s_power(dev, 1) once requires later calling + * s_power(dev, 0) once. * * @interrupt_service_routine: Called by the bridge chip's interrupt service * handler, when an interrupt status has be raised due to this subdev, -- 2.7.4