~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/vidioc-subdev-querycap.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/userspace-api/media/v4l/vidioc-subdev-querycap.rst (Architecture ppc) and /Documentation/userspace-api/media/v4l/vidioc-subdev-querycap.rst (Architecture mips)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari      1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: V4L                                2 .. c:namespace:: V4L
  3                                                     3 
  4 .. _VIDIOC_SUBDEV_QUERYCAP:                         4 .. _VIDIOC_SUBDEV_QUERYCAP:
  5                                                     5 
  6 ****************************                        6 ****************************
  7 ioctl VIDIOC_SUBDEV_QUERYCAP                        7 ioctl VIDIOC_SUBDEV_QUERYCAP
  8 ****************************                        8 ****************************
  9                                                     9 
 10 Name                                               10 Name
 11 ====                                               11 ====
 12                                                    12 
 13 VIDIOC_SUBDEV_QUERYCAP - Query sub-device capa     13 VIDIOC_SUBDEV_QUERYCAP - Query sub-device capabilities
 14                                                    14 
 15 Synopsis                                           15 Synopsis
 16 ========                                           16 ========
 17                                                    17 
 18 .. c:macro:: VIDIOC_SUBDEV_QUERYCAP                18 .. c:macro:: VIDIOC_SUBDEV_QUERYCAP
 19                                                    19 
 20 ``int ioctl(int fd, VIDIOC_SUBDEV_QUERYCAP, st     20 ``int ioctl(int fd, VIDIOC_SUBDEV_QUERYCAP, struct v4l2_subdev_capability *argp)``
 21                                                    21 
 22 Arguments                                          22 Arguments
 23 =========                                          23 =========
 24                                                    24 
 25 ``fd``                                             25 ``fd``
 26     File descriptor returned by :c:func:`open(     26     File descriptor returned by :c:func:`open()`.
 27                                                    27 
 28 ``argp``                                           28 ``argp``
 29     Pointer to struct :c:type:`v4l2_subdev_cap     29     Pointer to struct :c:type:`v4l2_subdev_capability`.
 30                                                    30 
 31 Description                                        31 Description
 32 ===========                                        32 ===========
 33                                                    33 
 34 All V4L2 sub-devices support the ``VIDIOC_SUBD     34 All V4L2 sub-devices support the ``VIDIOC_SUBDEV_QUERYCAP`` ioctl. It is used to
 35 identify kernel devices compatible with this s     35 identify kernel devices compatible with this specification and to obtain
 36 information about driver and hardware capabili     36 information about driver and hardware capabilities. The ioctl takes a pointer to
 37 a struct :c:type:`v4l2_subdev_capability` whic     37 a struct :c:type:`v4l2_subdev_capability` which is filled by the driver. When
 38 the driver is not compatible with this specifi     38 the driver is not compatible with this specification the ioctl returns
 39 ``ENOTTY`` error code.                             39 ``ENOTTY`` error code.
 40                                                    40 
 41 .. tabularcolumns:: |p{1.5cm}|p{2.9cm}|p{12.9c     41 .. tabularcolumns:: |p{1.5cm}|p{2.9cm}|p{12.9cm}|
 42                                                    42 
 43 .. c:type:: v4l2_subdev_capability                 43 .. c:type:: v4l2_subdev_capability
 44                                                    44 
 45 .. flat-table:: struct v4l2_subdev_capability      45 .. flat-table:: struct v4l2_subdev_capability
 46     :header-rows:  0                               46     :header-rows:  0
 47     :stub-columns: 0                               47     :stub-columns: 0
 48     :widths:       3 4 20                          48     :widths:       3 4 20
 49                                                    49 
 50     * - __u32                                      50     * - __u32
 51       - ``version``                                51       - ``version``
 52       - Version number of the driver.              52       - Version number of the driver.
 53                                                    53 
 54         The version reported is provided by th     54         The version reported is provided by the V4L2 subsystem following the
 55         kernel numbering scheme. However, it m     55         kernel numbering scheme. However, it may not always return the same
 56         version as the kernel if, for example,     56         version as the kernel if, for example, a stable or
 57         distribution-modified kernel uses the      57         distribution-modified kernel uses the V4L2 stack from a newer kernel.
 58                                                    58 
 59         The version number is formatted using      59         The version number is formatted using the ``KERNEL_VERSION()``
 60         macro:                                     60         macro:
 61     * - :cspan:`2`                                 61     * - :cspan:`2`
 62                                                    62 
 63         ``#define KERNEL_VERSION(a,b,c) (((a)      63         ``#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))``
 64                                                    64 
 65         ``__u32 version = KERNEL_VERSION(0, 8,     65         ``__u32 version = KERNEL_VERSION(0, 8, 1);``
 66                                                    66 
 67         ``printf ("Version: %u.%u.%u\\n",``        67         ``printf ("Version: %u.%u.%u\\n",``
 68                                                    68 
 69         ``(version >> 16) & 0xFF, (version >>      69         ``(version >> 16) & 0xFF, (version >> 8) & 0xFF, version & 0xFF);``
 70     * - __u32                                      70     * - __u32
 71       - ``capabilities``                           71       - ``capabilities``
 72       - Sub-device capabilities of the opened      72       - Sub-device capabilities of the opened device, see
 73         :ref:`subdevice-capabilities`.             73         :ref:`subdevice-capabilities`.
 74     * - __u32                                      74     * - __u32
 75       - ``reserved``\ [14]                         75       - ``reserved``\ [14]
 76       - Reserved for future extensions. Set to     76       - Reserved for future extensions. Set to 0 by the V4L2 core.
 77                                                    77 
 78 .. tabularcolumns:: |p{6.8cm}|p{2.4cm}|p{8.1cm     78 .. tabularcolumns:: |p{6.8cm}|p{2.4cm}|p{8.1cm}|
 79                                                    79 
 80 .. _subdevice-capabilities:                        80 .. _subdevice-capabilities:
 81                                                    81 
 82 .. cssclass:: longtable                            82 .. cssclass:: longtable
 83                                                    83 
 84 .. flat-table:: Sub-Device Capabilities Flags      84 .. flat-table:: Sub-Device Capabilities Flags
 85     :header-rows:  0                               85     :header-rows:  0
 86     :stub-columns: 0                               86     :stub-columns: 0
 87     :widths:       3 1 4                           87     :widths:       3 1 4
 88                                                    88 
 89     * - V4L2_SUBDEV_CAP_RO_SUBDEV                  89     * - V4L2_SUBDEV_CAP_RO_SUBDEV
 90       - 0x00000001                                 90       - 0x00000001
 91       - The sub-device device node is register     91       - The sub-device device node is registered in read-only mode.
 92         Access to the sub-device ioctls that m     92         Access to the sub-device ioctls that modify the device state is
 93         restricted. Refer to each individual s     93         restricted. Refer to each individual subdevice ioctl documentation
 94         for a description of which restriction     94         for a description of which restrictions apply to a read-only sub-device.
 95                                                    95 
 96 Return Value                                       96 Return Value
 97 ============                                       97 ============
 98                                                    98 
 99 On success 0 is returned, on error -1 and the      99 On success 0 is returned, on error -1 and the ``errno`` variable is set
100 appropriately. The generic error codes are des    100 appropriately. The generic error codes are described at the
101 :ref:`Generic Error Codes <gen-errors>` chapte    101 :ref:`Generic Error Codes <gen-errors>` chapter.
102                                                   102 
103 ENOTTY                                            103 ENOTTY
104     The device node is not a V4L2 sub-device.     104     The device node is not a V4L2 sub-device.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php