V4L/DVB (10231): v4l2-subdev: add v4l2_ext_controls support
authorHans Verkuil <hverkuil@xs4all.nl>
Mon, 12 Jan 2009 21:17:14 +0000 (18:17 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:42:20 +0000 (12:42 -0300)
The saa6752hs module needs this.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/v4l2-subdev.c
include/media/v4l2-subdev.h

index 2120880..158bc55 100644 (file)
@@ -33,6 +33,12 @@ int v4l2_subdev_command(struct v4l2_subdev *sd, unsigned cmd, void *arg)
                return v4l2_subdev_call(sd, core, g_ctrl, arg);
        case VIDIOC_S_CTRL:
                return v4l2_subdev_call(sd, core, s_ctrl, arg);
+       case VIDIOC_G_EXT_CTRLS:
+               return v4l2_subdev_call(sd, core, g_ext_ctrls, arg);
+       case VIDIOC_S_EXT_CTRLS:
+               return v4l2_subdev_call(sd, core, s_ext_ctrls, arg);
+       case VIDIOC_TRY_EXT_CTRLS:
+               return v4l2_subdev_call(sd, core, try_ext_ctrls, arg);
        case VIDIOC_QUERYMENU:
                return v4l2_subdev_call(sd, core, querymenu, arg);
        case VIDIOC_LOG_STATUS:
index 37b09e5..9c1663d 100644 (file)
@@ -78,6 +78,9 @@ struct v4l2_subdev_core_ops {
        int (*queryctrl)(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc);
        int (*g_ctrl)(struct v4l2_subdev *sd, struct v4l2_control *ctrl);
        int (*s_ctrl)(struct v4l2_subdev *sd, struct v4l2_control *ctrl);
+       int (*g_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls);
+       int (*s_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls);
+       int (*try_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls);
        int (*querymenu)(struct v4l2_subdev *sd, struct v4l2_querymenu *qm);
        long (*ioctl)(struct v4l2_subdev *sd, unsigned int cmd, void *arg);
 #ifdef CONFIG_VIDEO_ADV_DEBUG