diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2010-10-12 11:11:30 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-05-20 08:30:31 -0400 |
commit | 1dc8ddfd5a27706e54f16812c4197bb8be8ab9c1 (patch) | |
tree | d6d2e47d928b28c8478934d3b4cf8e3f26d5b6fd /drivers/media/video/uvc/uvc_v4l2.c | |
parent | fe78d187fe792fac5d190b19a2806c23df28891e (diff) |
[media] uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
Those ioctls are deprecated, list them in the features removal schedule
for 2.6.42.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/uvc/uvc_v4l2.c')
-rw-r--r-- | drivers/media/video/uvc/uvc_v4l2.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c index 74323362c8e6..2e2a556d1666 100644 --- a/drivers/media/video/uvc/uvc_v4l2.c +++ b/drivers/media/video/uvc/uvc_v4l2.c | |||
@@ -538,6 +538,20 @@ static int uvc_v4l2_release(struct file *file) | |||
538 | return 0; | 538 | return 0; |
539 | } | 539 | } |
540 | 540 | ||
541 | static void uvc_v4l2_ioctl_warn(void) | ||
542 | { | ||
543 | static int warned; | ||
544 | |||
545 | if (warned) | ||
546 | return; | ||
547 | |||
548 | uvc_printk(KERN_INFO, "Deprecated UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET} " | ||
549 | "ioctls will be removed in 2.6.42.\n"); | ||
550 | uvc_printk(KERN_INFO, "See http://www.ideasonboard.org/uvc/upgrade/ " | ||
551 | "for upgrade instructions.\n"); | ||
552 | warned = 1; | ||
553 | } | ||
554 | |||
541 | static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | 555 | static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) |
542 | { | 556 | { |
543 | struct video_device *vdev = video_devdata(file); | 557 | struct video_device *vdev = video_devdata(file); |
@@ -1018,12 +1032,16 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
1018 | uvc_trace(UVC_TRACE_IOCTL, "Unsupported ioctl 0x%08x\n", cmd); | 1032 | uvc_trace(UVC_TRACE_IOCTL, "Unsupported ioctl 0x%08x\n", cmd); |
1019 | return -EINVAL; | 1033 | return -EINVAL; |
1020 | 1034 | ||
1021 | /* Dynamic controls. */ | 1035 | /* Dynamic controls. UVCIOC_CTRL_ADD, UVCIOC_CTRL_MAP_OLD, |
1036 | * UVCIOC_CTRL_GET and UVCIOC_CTRL_SET are deprecated and scheduled for | ||
1037 | * removal in 2.6.42. | ||
1038 | */ | ||
1022 | case UVCIOC_CTRL_ADD: | 1039 | case UVCIOC_CTRL_ADD: |
1023 | /* Legacy ioctl, kept for API compatibility reasons */ | 1040 | uvc_v4l2_ioctl_warn(); |
1024 | return -EEXIST; | 1041 | return -EEXIST; |
1025 | 1042 | ||
1026 | case UVCIOC_CTRL_MAP_OLD: | 1043 | case UVCIOC_CTRL_MAP_OLD: |
1044 | uvc_v4l2_ioctl_warn(); | ||
1027 | case UVCIOC_CTRL_MAP: | 1045 | case UVCIOC_CTRL_MAP: |
1028 | return uvc_ioctl_ctrl_map(chain, arg, | 1046 | return uvc_ioctl_ctrl_map(chain, arg, |
1029 | cmd == UVCIOC_CTRL_MAP_OLD); | 1047 | cmd == UVCIOC_CTRL_MAP_OLD); |
@@ -1041,6 +1059,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
1041 | .data = xctrl->data, | 1059 | .data = xctrl->data, |
1042 | }; | 1060 | }; |
1043 | 1061 | ||
1062 | uvc_v4l2_ioctl_warn(); | ||
1044 | return uvc_xu_ctrl_query(chain, &xqry); | 1063 | return uvc_xu_ctrl_query(chain, &xqry); |
1045 | } | 1064 | } |
1046 | 1065 | ||