Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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