Commit f6fa883b authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] doc-rst: reorganize the kAPI v4l2 chapters

Reorganize the order of the document, putting the chapters
on a more logical order and renaming some sections.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent f4a6bdd1
V4L2 common functions and data structures
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-common.h
...@@ -808,7 +808,7 @@ notify function is called. ...@@ -808,7 +808,7 @@ notify function is called.
There can be only one notify function per control handler. Any attempt There can be only one notify function per control handler. Any attempt
to set another notify function will cause a WARN_ON. to set another notify function will cause a WARN_ON.
V4L2 control kAPI v4l2_ctrl functions and data structures
----------------- ---------------------------------------
.. kernel-doc:: include/media/v4l2-ctrls.h .. kernel-doc:: include/media/v4l2-ctrls.h
...@@ -6,20 +6,21 @@ Video2Linux devices ...@@ -6,20 +6,21 @@ Video2Linux devices
v4l2-intro v4l2-intro
v4l2-dev v4l2-dev
v4l2-controls
v4l2-device v4l2-device
v4l2-fh v4l2-fh
v4l2-subdev
v4l2-event
v4l2-controls
v4l2-videobuf
v4l2-videobuf2
v4l2-clocks v4l2-clocks
v4l2-dv-timings v4l2-dv-timings
v4l2-event
v4l2-flash-led-class v4l2-flash-led-class
v4l2-mc v4l2-mc
v4l2-mediabus v4l2-mediabus
v4l2-mem2mem v4l2-mem2mem
v4l2-of v4l2-of
v4l2-rect v4l2-rect
v4l2-subdev
v4l2-tuner v4l2-tuner
v4l2-common
v4l2-tveeprom v4l2-tveeprom
v4l2-videobuf2
v4l2-videobuf
Video device creation Video device' s internal representation
===================== =======================================
The actual device nodes in the ``/dev`` directory are created using the The actual device nodes in the ``/dev`` directory are created using the
:c:type:`video_device` struct (``v4l2-dev.h``). This struct can either be :c:type:`video_device` struct (``v4l2-dev.h``). This struct can either be
...@@ -309,8 +309,8 @@ it has been initialized: ...@@ -309,8 +309,8 @@ it has been initialized:
This can be done from the release callback. This can be done from the release callback.
video_device helper functions helper functions
----------------------------- ----------------
There are a few useful helper functions: There are a few useful helper functions:
...@@ -357,7 +357,7 @@ The name is used as a hint by userspace tools such as udev. The function ...@@ -357,7 +357,7 @@ The name is used as a hint by userspace tools such as udev. The function
should be used where possible instead of accessing the video_device::num and should be used where possible instead of accessing the video_device::num and
video_device::minor fields. video_device::minor fields.
video_device kAPI video_device functions and data structures
----------------- ------------------------------------------
.. kernel-doc:: include/media/v4l2-dev.h .. kernel-doc:: include/media/v4l2-dev.h
V4L2 Device register logic V4L2 device instance
-------------------------- --------------------
Each device instance is represented by a struct :c:type:`v4l2_device`. Each device instance is represented by a struct :c:type:`v4l2_device`.
Very simple devices can just allocate this struct, but most of the time you Very simple devices can just allocate this struct, but most of the time you
...@@ -138,7 +138,7 @@ Since the initial refcount is 1 you also need to call ...@@ -138,7 +138,7 @@ Since the initial refcount is 1 you also need to call
or in the ``remove()`` callback (for e.g. PCI devices), otherwise the refcount or in the ``remove()`` callback (for e.g. PCI devices), otherwise the refcount
will never reach 0. will never reach 0.
V4L2 device kAPI v4l2_device functions and data structures
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-device.h .. kernel-doc:: include/media/v4l2-device.h
V4L2 DV Timings kAPI V4L2 DV Timings functions
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-dv-timings.h .. kernel-doc:: include/media/v4l2-dv-timings.h
...@@ -130,7 +130,8 @@ function with ``V4L2_DEVICE_NOTIFY_EVENT``. This allows the bridge to map ...@@ -130,7 +130,8 @@ function with ``V4L2_DEVICE_NOTIFY_EVENT``. This allows the bridge to map
the subdev that sends the event to the video node(s) associated with the the subdev that sends the event to the video node(s) associated with the
subdev that need to be informed about such an event. subdev that need to be informed about such an event.
V4L2 event kAPI V4L2 event functions and data structures
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-event.h .. kernel-doc:: include/media/v4l2-event.h
...@@ -133,6 +133,7 @@ associated device node: ...@@ -133,6 +133,7 @@ associated device node:
- Same, but it calls v4l2_fh_is_singular with filp->private_data. - Same, but it calls v4l2_fh_is_singular with filp->private_data.
V4L2 File Handler kAPI V4L2 fh functions and data structures
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-fh.h .. kernel-doc:: include/media/v4l2-fh.h
V4L2 Flash and LED class kAPI V4L2 flash functions and data structures
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-flash-led-class.h .. kernel-doc:: include/media/v4l2-flash-led-class.h
Overview of the V4L2 driver framework
=====================================
This text documents the various structures provided by the V4L2 framework and
their relationships.
Introduction Introduction
------------ ------------
...@@ -39,8 +32,8 @@ source that is available in samples/v4l/. It is a skeleton driver for ...@@ -39,8 +32,8 @@ source that is available in samples/v4l/. It is a skeleton driver for
a PCI capture card, and demonstrates how to use the V4L2 driver a PCI capture card, and demonstrates how to use the V4L2 driver
framework. It can be used as a template for real PCI video capture driver. framework. It can be used as a template for real PCI video capture driver.
Structure of a driver Structure of a V4L driver
--------------------- -------------------------
All drivers have the following structure: All drivers have the following structure:
...@@ -68,8 +61,8 @@ This is a rough schematic of how it all relates: ...@@ -68,8 +61,8 @@ This is a rough schematic of how it all relates:
\-filehandle instances \-filehandle instances
Structure of the framework Structure of the V4L2 framework
-------------------------- -------------------------------
The framework closely resembles the driver structure: it has a v4l2_device The framework closely resembles the driver structure: it has a v4l2_device
struct for the device instance data, a v4l2_subdev struct to refer to struct for the device instance data, a v4l2_subdev struct to refer to
......
V4L2 Media Controller kAPI V4L2 Media Controller functions and data structures
^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-mc.h .. kernel-doc:: include/media/v4l2-mc.h
V4L2 Media Bus kAPI V4L2 Media Bus functions and data structures
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-mediabus.h .. kernel-doc:: include/media/v4l2-mediabus.h
V4L2 Memory to Memory kAPI V4L2 Memory to Memory functions and data structures
^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-mem2mem.h .. kernel-doc:: include/media/v4l2-mem2mem.h
V4L2 rect kAPI V4L2 rect helper functions
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-rect.h .. kernel-doc:: include/media/v4l2-rect.h
...@@ -440,18 +440,6 @@ well, but with irq set to 0 and platform_data set to ``NULL``. ...@@ -440,18 +440,6 @@ well, but with irq set to 0 and platform_data set to ``NULL``.
V4L2 sub-device functions and data structures V4L2 sub-device functions and data structures
--------------------------------------------- ---------------------------------------------
V4L2 sub-device kAPI
^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-subdev.h .. kernel-doc:: include/media/v4l2-subdev.h
V4L2 sub-device asynchronous kAPI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-async.h .. kernel-doc:: include/media/v4l2-async.h
V4L2 common kAPI
^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/v4l2-common.h
Tuner kAPI Tuner functions and data structures
^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/tuner.h .. kernel-doc:: include/media/tuner.h
......
Hauppauge TV EEPROM kAPI Hauppauge TV EEPROM functions and data structures
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/tveeprom.h .. kernel-doc:: include/media/tveeprom.h
.. _vb2_framework: .. _vb2_framework:
V4L2 videobuf2 kAPI V4L2 videobuf2 functions and data structures
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. kernel-doc:: include/media/videobuf2-core.h .. kernel-doc:: include/media/videobuf2-core.h
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment