diff options
Diffstat (limited to 'drivers/media/video/v4l2-subdev.c')
-rw-r--r-- | drivers/media/video/v4l2-subdev.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/media/video/v4l2-subdev.c b/drivers/media/video/v4l2-subdev.c index 460b33697c9b..da10430051c0 100644 --- a/drivers/media/video/v4l2-subdev.c +++ b/drivers/media/video/v4l2-subdev.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/ioctl.h> | 24 | #include <linux/ioctl.h> |
25 | #include <linux/videodev2.h> | 25 | #include <linux/videodev2.h> |
26 | 26 | ||
27 | #include <media/v4l2-ctrls.h> | ||
27 | #include <media/v4l2-device.h> | 28 | #include <media/v4l2-device.h> |
28 | #include <media/v4l2-ioctl.h> | 29 | #include <media/v4l2-ioctl.h> |
29 | 30 | ||
@@ -39,7 +40,31 @@ static int subdev_close(struct file *file) | |||
39 | 40 | ||
40 | static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg) | 41 | static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg) |
41 | { | 42 | { |
43 | struct video_device *vdev = video_devdata(file); | ||
44 | struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev); | ||
45 | |||
42 | switch (cmd) { | 46 | switch (cmd) { |
47 | case VIDIOC_QUERYCTRL: | ||
48 | return v4l2_subdev_queryctrl(sd, arg); | ||
49 | |||
50 | case VIDIOC_QUERYMENU: | ||
51 | return v4l2_subdev_querymenu(sd, arg); | ||
52 | |||
53 | case VIDIOC_G_CTRL: | ||
54 | return v4l2_subdev_g_ctrl(sd, arg); | ||
55 | |||
56 | case VIDIOC_S_CTRL: | ||
57 | return v4l2_subdev_s_ctrl(sd, arg); | ||
58 | |||
59 | case VIDIOC_G_EXT_CTRLS: | ||
60 | return v4l2_subdev_g_ext_ctrls(sd, arg); | ||
61 | |||
62 | case VIDIOC_S_EXT_CTRLS: | ||
63 | return v4l2_subdev_s_ext_ctrls(sd, arg); | ||
64 | |||
65 | case VIDIOC_TRY_EXT_CTRLS: | ||
66 | return v4l2_subdev_try_ext_ctrls(sd, arg); | ||
67 | |||
43 | default: | 68 | default: |
44 | return -ENOIOCTLCMD; | 69 | return -ENOIOCTLCMD; |
45 | } | 70 | } |