[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>
This commit is contained in:
Родитель
fe78d187fe
Коммит
1dc8ddfd5a
|
@ -580,3 +580,26 @@ Why: These legacy callbacks should no longer be used as i2c-core offers
|
|||
Who: Jean Delvare <khali@linux-fr.org>
|
||||
|
||||
----------------------------
|
||||
|
||||
What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver
|
||||
When: 2.6.42
|
||||
Why: The information passed to the driver by this ioctl is now queried
|
||||
dynamically from the device.
|
||||
Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
----------------------------
|
||||
|
||||
What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver
|
||||
When: 2.6.42
|
||||
Why: Used only by applications compiled against older driver versions.
|
||||
Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls.
|
||||
Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
----------------------------
|
||||
|
||||
What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver
|
||||
When: 2.6.42
|
||||
Why: Superseded by the UVCIOC_CTRL_QUERY ioctl.
|
||||
Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
----------------------------
|
||||
|
|
|
@ -538,6 +538,20 @@ static int uvc_v4l2_release(struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void uvc_v4l2_ioctl_warn(void)
|
||||
{
|
||||
static int warned;
|
||||
|
||||
if (warned)
|
||||
return;
|
||||
|
||||
uvc_printk(KERN_INFO, "Deprecated UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET} "
|
||||
"ioctls will be removed in 2.6.42.\n");
|
||||
uvc_printk(KERN_INFO, "See http://www.ideasonboard.org/uvc/upgrade/ "
|
||||
"for upgrade instructions.\n");
|
||||
warned = 1;
|
||||
}
|
||||
|
||||
static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
||||
{
|
||||
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)
|
|||
uvc_trace(UVC_TRACE_IOCTL, "Unsupported ioctl 0x%08x\n", cmd);
|
||||
return -EINVAL;
|
||||
|
||||
/* Dynamic controls. */
|
||||
/* Dynamic controls. UVCIOC_CTRL_ADD, UVCIOC_CTRL_MAP_OLD,
|
||||
* UVCIOC_CTRL_GET and UVCIOC_CTRL_SET are deprecated and scheduled for
|
||||
* removal in 2.6.42.
|
||||
*/
|
||||
case UVCIOC_CTRL_ADD:
|
||||
/* Legacy ioctl, kept for API compatibility reasons */
|
||||
uvc_v4l2_ioctl_warn();
|
||||
return -EEXIST;
|
||||
|
||||
case UVCIOC_CTRL_MAP_OLD:
|
||||
uvc_v4l2_ioctl_warn();
|
||||
case UVCIOC_CTRL_MAP:
|
||||
return uvc_ioctl_ctrl_map(chain, arg,
|
||||
cmd == UVCIOC_CTRL_MAP_OLD);
|
||||
|
@ -1041,6 +1059,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
.data = xctrl->data,
|
||||
};
|
||||
|
||||
uvc_v4l2_ioctl_warn();
|
||||
return uvc_xu_ctrl_query(chain, &xqry);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче