]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: v4l2: Remove vidioc_queryctrl callback
authorRicardo Ribalda <ribalda@chromium.org>
Sun, 23 Feb 2025 18:58:10 +0000 (18:58 +0000)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 5 Mar 2025 09:43:25 +0000 (10:43 +0100)
All the drivers either use the control framework or provide a
vidioc_query_ext_ctrl. We can remove this callback to reduce the
temptation of new drivers to implement it.

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/v4l2-core/v4l2-dev.c
drivers/media/v4l2-core/v4l2-ioctl.c
include/media/v4l2-ioctl.h

index 252308a67fa8e4a92c966c649bec21712be48e01..5267a0686400d7247befb505b2199314af5ee06c 100644 (file)
@@ -572,8 +572,7 @@ static void determine_valid_ioctls(struct video_device *vdev)
           and that can't be tested here. If the bit for these control ioctls
           is set, then the ioctl is valid. But if it is 0, then it can still
           be valid if the filehandle passed the control handler. */
-       if (vdev->ctrl_handler || ops->vidioc_queryctrl ||
-           ops->vidioc_query_ext_ctrl)
+       if (vdev->ctrl_handler || ops->vidioc_query_ext_ctrl)
                __set_bit(_IOC_NR(VIDIOC_QUERYCTRL), valid_ioctls);
        if (vdev->ctrl_handler || ops->vidioc_query_ext_ctrl)
                __set_bit(_IOC_NR(VIDIOC_QUERY_EXT_CTRL), valid_ioctls);
index 84bb36813cf2820a517829925750ce1c01dbd9d6..fabe01afc17bcfcf07e8c4a9a301cf4be29f43df 100644 (file)
@@ -2296,8 +2296,6 @@ static int v4l_queryctrl(const struct v4l2_ioctl_ops *ops,
                return v4l2_queryctrl(vfh->ctrl_handler, p);
        if (vfd->ctrl_handler)
                return v4l2_queryctrl(vfd->ctrl_handler, p);
-       if (ops->vidioc_queryctrl)
-               return ops->vidioc_queryctrl(file, fh, p);
        if (!ops->vidioc_query_ext_ctrl)
                return -ENOTTY;
 
index bdbb7e5423213ef35b2b1076f57c5ba0b31b4a42..013996c33a9ec4d1e5c4bef4d719fe066a6d0b03 100644 (file)
@@ -193,8 +193,6 @@ struct v4l2_fh;
  *     :ref:`VIDIOC_G_OUTPUT <vidioc_g_output>` ioctl
  * @vidioc_s_output: pointer to the function that implements
  *     :ref:`VIDIOC_S_OUTPUT <vidioc_g_output>` ioctl
- * @vidioc_queryctrl: pointer to the function that implements
- *     :ref:`VIDIOC_QUERYCTRL <vidioc_queryctrl>` ioctl
  * @vidioc_query_ext_ctrl: pointer to the function that implements
  *     :ref:`VIDIOC_QUERY_EXT_CTRL <vidioc_queryctrl>` ioctl
  * @vidioc_g_ctrl: pointer to the function that implements
@@ -461,8 +459,6 @@ struct v4l2_ioctl_ops {
        int (*vidioc_s_output)(struct file *file, void *fh, unsigned int i);
 
                /* Control handling */
-       int (*vidioc_queryctrl)(struct file *file, void *fh,
-                               struct v4l2_queryctrl *a);
        int (*vidioc_query_ext_ctrl)(struct file *file, void *fh,
                                     struct v4l2_query_ext_ctrl *a);
        int (*vidioc_g_ctrl)(struct file *file, void *fh,