forked from mirrors/linux
		
	media: Documentation: Deprecate s_stream video op, update docs
The scope of the s_stream video operation is now fully supported by
{enable,disable}_streams. Explicitly document the s_stream() op as
deprecated and update the related documentation.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									0c200daa57
								
							
						
					
					
						commit
						30fe661eb9
					
				
					 3 changed files with 15 additions and 11 deletions
				
			
		| 
						 | 
					@ -81,10 +81,10 @@ restart when the system is resumed. This requires coordination between the
 | 
				
			||||||
camera sensor and the rest of the camera pipeline. Bridge drivers are
 | 
					camera sensor and the rest of the camera pipeline. Bridge drivers are
 | 
				
			||||||
responsible for this coordination, and instruct camera sensors to stop and
 | 
					responsible for this coordination, and instruct camera sensors to stop and
 | 
				
			||||||
restart streaming by calling the appropriate subdev operations
 | 
					restart streaming by calling the appropriate subdev operations
 | 
				
			||||||
(``.s_stream()``, ``.enable_streams()`` or ``.disable_streams()``). Camera
 | 
					(``.enable_streams()`` or ``.disable_streams()``). Camera sensor drivers shall
 | 
				
			||||||
sensor drivers shall therefore **not** keep track of the streaming state to
 | 
					therefore **not** keep track of the streaming state to stop streaming in the PM
 | 
				
			||||||
stop streaming in the PM suspend handler and restart it in the resume handler.
 | 
					suspend handler and restart it in the resume handler. Drivers should in general
 | 
				
			||||||
Drivers should in general not implement the system PM handlers.
 | 
					not implement the system PM handlers.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Camera sensor drivers shall **not** implement the subdev ``.s_power()``
 | 
					Camera sensor drivers shall **not** implement the subdev ``.s_power()``
 | 
				
			||||||
operation, as it is deprecated. While this operation is implemented in some
 | 
					operation, as it is deprecated. While this operation is implemented in some
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,11 +49,14 @@ Link frequency
 | 
				
			||||||
The :ref:`V4L2_CID_LINK_FREQ <v4l2-cid-link-freq>` control is used to tell the
 | 
					The :ref:`V4L2_CID_LINK_FREQ <v4l2-cid-link-freq>` control is used to tell the
 | 
				
			||||||
receiver the frequency of the bus (i.e. it is not the same as the symbol rate).
 | 
					receiver the frequency of the bus (i.e. it is not the same as the symbol rate).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
``.s_stream()`` callback
 | 
					``.enable_streams()`` and ``.disable_streams()`` callbacks
 | 
				
			||||||
^^^^^^^^^^^^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The struct struct v4l2_subdev_video_ops->s_stream() callback is used by the
 | 
					The struct v4l2_subdev_pad_ops->enable_streams() and struct
 | 
				
			||||||
receiver driver to control the transmitter driver's streaming state.
 | 
					v4l2_subdev_pad_ops->disable_streams() callbacks are used by the receiver driver
 | 
				
			||||||
 | 
					to control the transmitter driver's streaming state. These callbacks may not be
 | 
				
			||||||
 | 
					called directly, but by using ``v4l2_subdev_enable_streams()`` and
 | 
				
			||||||
 | 
					``v4l2_subdev_disable_streams()``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CSI-2 transmitter drivers
 | 
					CSI-2 transmitter drivers
 | 
				
			||||||
| 
						 | 
					@ -127,7 +130,7 @@ Stopping the transmitter
 | 
				
			||||||
^^^^^^^^^^^^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^^^^^^^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A transmitter stops sending the stream of images as a result of
 | 
					A transmitter stops sending the stream of images as a result of
 | 
				
			||||||
calling the ``.s_stream()`` callback. Some transmitters may stop the
 | 
					calling the ``.disable_streams()`` callback. Some transmitters may stop the
 | 
				
			||||||
stream at a frame boundary whereas others stop immediately,
 | 
					stream at a frame boundary whereas others stop immediately,
 | 
				
			||||||
effectively leaving the current frame unfinished. The receiver driver
 | 
					effectively leaving the current frame unfinished. The receiver driver
 | 
				
			||||||
should not make assumptions either way, but function properly in both
 | 
					should not make assumptions either way, but function properly in both
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -450,8 +450,9 @@ enum v4l2_subdev_pre_streamon_flags {
 | 
				
			||||||
 *	already started or stopped subdev. Also see call_s_stream wrapper in
 | 
					 *	already started or stopped subdev. Also see call_s_stream wrapper in
 | 
				
			||||||
 *	v4l2-subdev.c.
 | 
					 *	v4l2-subdev.c.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *	New drivers should instead implement &v4l2_subdev_pad_ops.enable_streams
 | 
					 *	This callback is DEPRECATED. New drivers should instead implement
 | 
				
			||||||
 *	and &v4l2_subdev_pad_ops.disable_streams operations, and use
 | 
					 *	&v4l2_subdev_pad_ops.enable_streams and
 | 
				
			||||||
 | 
					 *	&v4l2_subdev_pad_ops.disable_streams operations, and use
 | 
				
			||||||
 *	v4l2_subdev_s_stream_helper for the &v4l2_subdev_video_ops.s_stream
 | 
					 *	v4l2_subdev_s_stream_helper for the &v4l2_subdev_video_ops.s_stream
 | 
				
			||||||
 *	operation to support legacy users.
 | 
					 *	operation to support legacy users.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue