Re: [PATCH 1/1] v4l: Document the practice of symmetrically calling s_power(dev, 0/1)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Thu,  9 Mar 2017 13:54:45 +0200
Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> escreveu:

> 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.

Actually, there are several non-embedded drivers that don't call s_power()
symmetrically, as they use it just put a sub-device in standby mode.
I remember some widely used tuners that has this behavior. Such subdevs
automatically awaken when a command is issued to them (for example,
requesting the tuner to tune into a channel).

If you're willing to change the kABI, you need first to patch such
drivers.

Regards,
Mauro

> 
> 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,



Thanks,
Mauro



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux