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:
Sakari Ailus 2024-09-17 15:14:44 +03:00 committed by Mauro Carvalho Chehab
parent 0c200daa57
commit 30fe661eb9
3 changed files with 15 additions and 11 deletions

View file

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

View file

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

View file

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