提交 94c53e26 编写于 作者: L Laurent Pinchart 提交者: Mauro Carvalho Chehab

media: uvcvideo: Report V4L2 device caps through the video_device structure

The V4L2 core populates the struct v4l2_capability device_caps field
from the same field in video_device. There's no need to handle that
manually in the driver.
Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: NGuennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Tested-by: NGuennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
上级 31a96f4c
...@@ -1921,6 +1921,17 @@ int uvc_register_video_device(struct uvc_device *dev, ...@@ -1921,6 +1921,17 @@ int uvc_register_video_device(struct uvc_device *dev,
vdev->vfl_dir = VFL_DIR_TX; vdev->vfl_dir = VFL_DIR_TX;
else else
vdev->vfl_dir = VFL_DIR_RX; vdev->vfl_dir = VFL_DIR_RX;
switch (type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
default:
vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
break;
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
vdev->device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
break;
}
strlcpy(vdev->name, dev->name, sizeof vdev->name); strlcpy(vdev->name, dev->name, sizeof vdev->name);
/* /*
......
...@@ -568,10 +568,6 @@ static int uvc_ioctl_querycap(struct file *file, void *fh, ...@@ -568,10 +568,6 @@ static int uvc_ioctl_querycap(struct file *file, void *fh,
usb_make_path(stream->dev->udev, cap->bus_info, sizeof(cap->bus_info)); usb_make_path(stream->dev->udev, cap->bus_info, sizeof(cap->bus_info));
cap->capabilities = V4L2_CAP_DEVICE_CAPS | V4L2_CAP_STREAMING cap->capabilities = V4L2_CAP_DEVICE_CAPS | V4L2_CAP_STREAMING
| chain->caps; | chain->caps;
if (stream->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
else
cap->device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册