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

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 068ee67cd5743042a5370cfdf3b3a7a801cae111..b40c08ce909d4416a6288d405f5a417a51c918ec 100644 (file)
@@ -578,7 +578,7 @@ static void determine_valid_ioctls(struct video_device *vdev)
                __set_bit(_IOC_NR(VIDIOC_QUERY_EXT_CTRL), valid_ioctls);
        if (vdev->ctrl_handler || ops->vidioc_g_ext_ctrls)
                __set_bit(_IOC_NR(VIDIOC_G_CTRL), valid_ioctls);
-       if (vdev->ctrl_handler || ops->vidioc_s_ctrl || ops->vidioc_s_ext_ctrls)
+       if (vdev->ctrl_handler || ops->vidioc_s_ext_ctrls)
                __set_bit(_IOC_NR(VIDIOC_S_CTRL), valid_ioctls);
        if (vdev->ctrl_handler || ops->vidioc_g_ext_ctrls)
                __set_bit(_IOC_NR(VIDIOC_G_EXT_CTRLS), valid_ioctls);
index 25a05d00e9e427914bbd5d8e8db6c17b68617e6b..d80a20ed22541770651af5dfe42db99b05d195a5 100644 (file)
@@ -2413,8 +2413,6 @@ static int v4l_s_ctrl(const struct v4l2_ioctl_ops *ops,
                return v4l2_s_ctrl(vfh, vfh->ctrl_handler, p);
        if (vfd->ctrl_handler)
                return v4l2_s_ctrl(NULL, vfd->ctrl_handler, p);
-       if (ops->vidioc_s_ctrl)
-               return ops->vidioc_s_ctrl(file, fh, p);
        if (ops->vidioc_s_ext_ctrls == NULL)
                return -ENOTTY;
 
index 4d69128023f8798ac526bf8d3b3299f824f88e34..c6ec87e88dfef9e6cfe1d1fb587c1600882fb14d 100644 (file)
@@ -195,8 +195,6 @@ struct v4l2_fh;
  *     :ref:`VIDIOC_S_OUTPUT <vidioc_g_output>` ioctl
  * @vidioc_query_ext_ctrl: pointer to the function that implements
  *     :ref:`VIDIOC_QUERY_EXT_CTRL <vidioc_queryctrl>` ioctl
- * @vidioc_s_ctrl: pointer to the function that implements
- *     :ref:`VIDIOC_S_CTRL <vidioc_g_ctrl>` ioctl
  * @vidioc_g_ext_ctrls: pointer to the function that implements
  *     :ref:`VIDIOC_G_EXT_CTRLS <vidioc_g_ext_ctrls>` ioctl
  * @vidioc_s_ext_ctrls: pointer to the function that implements
@@ -459,8 +457,6 @@ struct v4l2_ioctl_ops {
                /* Control handling */
        int (*vidioc_query_ext_ctrl)(struct file *file, void *fh,
                                     struct v4l2_query_ext_ctrl *a);
-       int (*vidioc_s_ctrl)(struct file *file, void *fh,
-                            struct v4l2_control *a);
        int (*vidioc_g_ext_ctrls)(struct file *file, void *fh,
                                  struct v4l2_ext_controls *a);
        int (*vidioc_s_ext_ctrls)(struct file *file, void *fh,