Re: [PATCH v2 1/3] media: open.rst: better document device node naming

From: Mauro Carvalho Chehab
Date: Fri Aug 25 2017 - 08:58:50 EST


Em Fri, 25 Aug 2017 09:52:40 -0300
Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> escreveu:

> 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 identify for a given device.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>
> ---
> Documentation/media/uapi/v4l/open.rst | 40 ++++++++++++++++++++++++++++++-----
> 1 file changed, 35 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/media/uapi/v4l/open.rst b/Documentation/media/uapi/v4l/open.rst
> index afd116edb40d..9b98d10d5153 100644
> --- a/Documentation/media/uapi/v4l/open.rst
> +++ b/Documentation/media/uapi/v4l/open.rst
> @@ -7,12 +7,12 @@ Opening and Closing Devices
> ***************************
>
>
> -Device Naming
> -=============
> +V4L2 Device Node Naming
> +=======================
>
> V4L2 drivers are implemented as kernel modules, loaded manually by the
> 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
> document.
>
> @@ -20,8 +20,38 @@ Each driver thus loaded registers one or more device nodes with major
> number 81 and a minor number between 0 and 255. Minor numbers are
> allocated dynamically unless the kernel is compiled with the kernel
> option CONFIG_VIDEO_FIXED_MINOR_RANGES. In that case minor numbers
> -are allocated in ranges depending on the device node type (video, radio,
> -etc.).
> +are allocated in ranges depending on the device node type.
> +
> +The existing V4L2 device node types are:
> +
> +======================== ======================================================
> +Default device node name Usage
> +======================== ======================================================
> +``/dev/videoX`` Video input/output devices
> +``/dev/vbiX`` Vertical blank data (i.e. closed captions, teletext)
> +``/dev/radioX`` Radio tuners
> +``/dev/swradioX`` Software Defined Radio tuners
> +``/dev/v4l-touchX`` Touch sensors
> +======================== ======================================================
> +
> +Where ``X`` is a non-negative number.
> +
> +.. note::
> +
> + 1. The actual device node name is system-dependent, as udev rules may apply.
> + 2. There's not warranty 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/`` that can use to uniquelly
> + identify a V4L2 device node::
> +

In time:

diff --git a/Documentation/media/uapi/v4l/open.rst b/Documentation/media/uapi/v4l/open.rst
index c6ab5fef4443..3b93a32777c2 100644
--- a/Documentation/media/uapi/v4l/open.rst
+++ b/Documentation/media/uapi/v4l/open.rst
@@ -106,8 +106,8 @@ Where ``X`` is a non-negative number.
2. There's not warranty 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/`` that can use to uniquelly
- identify a V4L2 device node::
+ ``/dev/v4l/by-id/`` and ``/dev/v4l/by-path/`` that can be used to
+ uniquely identify a V4L2 device node::

$ tree /dev/v4l
/dev/v4l


> + $ 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
> +
>
> Many drivers support "video_nr", "radio_nr" or "vbi_nr" module
> options to select specific video/radio/vbi node numbers. This allows the



Thanks,
Mauro