blob: f843a83a7d8f69db5c314b21d6e7d669da893fad [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From afd6952c4dfb0d4945b496ef08b2f478d6f40097 Mon Sep 17 00:00:00 2001
2From: Jacopo Mondi <jacopo@jmondi.org>
3Date: Tue, 7 Apr 2020 17:21:55 +0200
4Subject: [PATCH] Documentation: media: Update sub-device API intro
5
6Update the V4L2 sub-device userspace API introduction to provide more
7details on why complex devices might want to register devnodes for the
8connected subdevices.
9
10Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
11Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
13---
14 Documentation/media/kapi/v4l2-subdev.rst | 9 +++++++--
15 1 file changed, 7 insertions(+), 2 deletions(-)
16
17--- a/Documentation/media/kapi/v4l2-subdev.rst
18+++ b/Documentation/media/kapi/v4l2-subdev.rst
19@@ -275,8 +275,13 @@ system the .unbind() method is called. A
20 V4L2 sub-device userspace API
21 -----------------------------
22
23-Beside exposing a kernel API through the :c:type:`v4l2_subdev_ops` structure,
24-V4L2 sub-devices can also be controlled directly by userspace applications.
25+Bridge drivers traditionally expose one or multiple video nodes to userspace,
26+and control subdevices through the :c:type:`v4l2_subdev_ops` operations in
27+response to video node operations. This hides the complexity of the underlying
28+hardware from applications. For complex devices, finer-grained control of the
29+device than what the video nodes offer may be required. In those cases, bridge
30+drivers that implement :ref:`the media controller API <media_controller>` may
31+opt for making the subdevice operations directly accessible from userpace.
32
33 Device nodes named ``v4l-subdev``\ *X* can be created in ``/dev`` to access
34 sub-devices directly. If a sub-device supports direct userspace configuration