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