]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: uvcvideo: Announce deprecation intentions for UVCIOC_CTRL_MAP
authorRicardo Ribalda <ribalda@chromium.org>
Mon, 16 Mar 2026 13:34:45 +0000 (13:34 +0000)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 12 May 2026 05:30:53 +0000 (07:30 +0200)
The UVCIOC_CTRL_MAP lets userspace create a mapping for a custom
control.

This mapping is usually created by the uvcdynctrl userspace utility. We
would like to get the mappings into the driver instead.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Documentation/userspace-api/media/drivers/uvcvideo.rst
drivers/media/usb/uvc/uvc_v4l2.c

index dbb30ad389ae4d53bc734b4269ebea20ecdd7535..b09d2f8ba66ecde67f1e35fd77858a505ad44eb1 100644 (file)
@@ -109,6 +109,8 @@ IOCTL reference
 UVCIOC_CTRL_MAP - Map a UVC control to a V4L2 control
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
+**This IOCTL is deprecated and will be eventually removed**
+
 Argument: struct uvc_xu_control_mapping
 
 **Description**:
index cda1697204eaf9bb2f146e1ce58578c771d92067..fa852b78919348bea4378fff1fbd189a1475ce85 100644 (file)
@@ -1049,6 +1049,8 @@ static long uvc_ioctl_default(struct file *file, void *priv, bool valid_prio,
        switch (cmd) {
        /* Dynamic controls. */
        case UVCIOC_CTRL_MAP:
+               pr_warn_once("uvcvideo: " DEPRECATED
+                            "UVCIOC_CTRL_MAP ioctl will be eventually removed.\n");
                return uvc_ioctl_xu_ctrl_map(chain, arg);
 
        case UVCIOC_CTRL_QUERY:
@@ -1163,6 +1165,8 @@ static long uvc_v4l2_compat_ioctl32(struct file *file,
 
        switch (cmd) {
        case UVCIOC_CTRL_MAP32:
+               pr_warn_once("uvcvideo: " DEPRECATED
+                            "UVCIOC_CTRL_MAP32 ioctl will be eventually removed.\n");
                ret = uvc_v4l2_get_xu_mapping(&karg.xmap, up);
                if (ret)
                        break;