Commit 374d1432 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: open.rst: better document device node naming

Right now, only kAPI documentation describes the device naming.
However, such description is needed at the uAPI too. Add it,
and describe how to get an unique identifier for a given device.
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent b0053104
...@@ -7,12 +7,14 @@ Opening and Closing Devices ...@@ -7,12 +7,14 @@ Opening and Closing Devices
*************************** ***************************
Device Naming .. _v4l2_device_naming:
=============
V4L2 Device Node Naming
=======================
V4L2 drivers are implemented as kernel modules, loaded manually by the V4L2 drivers are implemented as kernel modules, loaded manually by the
system administrator or automatically when a device is first discovered. system administrator or automatically when a device is first discovered.
The driver modules plug into the "videodev" kernel module. It provides The driver modules plug into the ``videodev`` kernel module. It provides
helper functions and a common application interface specified in this helper functions and a common application interface specified in this
document. document.
...@@ -23,6 +25,41 @@ option CONFIG_VIDEO_FIXED_MINOR_RANGES. In that case minor numbers ...@@ -23,6 +25,41 @@ option CONFIG_VIDEO_FIXED_MINOR_RANGES. In that case minor numbers
are allocated in ranges depending on the device node type (video, radio, are allocated in ranges depending on the device node type (video, radio,
etc.). etc.).
The device nodes supported by the Video4Linux subsystem are:
======================== ====================================================
Default device node name Usage
======================== ====================================================
``/dev/videoX`` Video and metadata for capture/output devices
``/dev/vbiX`` Vertical blank data (i.e. closed captions, teletext)
``/dev/radioX`` Radio tuners and modulators
``/dev/swradioX`` Software Defined Radio tuners and modulators
``/dev/v4l-touchX`` Touch sensors
``/dev/v4l-subdevX`` Video sub-devices (used by sensors and other
components of the hardware peripheral)\ [#]_
======================== ====================================================
Where ``X`` is a non-negative integer.
.. note::
1. The actual device node name is system-dependent, as udev rules may apply.
2. There is no guarantee that ``X`` will remain the same for the same
device, as the number depends on the device driver's probe order.
If you need an unique name, udev default rules produce
``/dev/v4l/by-id/`` and ``/dev/v4l/by-path/`` directories containing
links that can be used uniquely to identify a V4L2 device node::
$ tree /dev/v4l
/dev/v4l
├── by-id
│   └── usb-OmniVision._USB_Camera-B4.04.27.1-video-index0 -> ../../video0
└── by-path
└── pci-0000:00:14.0-usb-0:2:1.0-video-index0 -> ../../video0
.. [#] **V4L2 sub-device nodes** (e. g. ``/dev/v4l-subdevX``) use a different
set of system calls, as covered at :ref:`subdev`.
Many drivers support "video_nr", "radio_nr" or "vbi_nr" module Many drivers support "video_nr", "radio_nr" or "vbi_nr" module
options to select specific video/radio/vbi node numbers. This allows the options to select specific video/radio/vbi node numbers. This allows the
user to request that the device node is named e.g. /dev/video5 instead user to request that the device node is named e.g. /dev/video5 instead
......
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