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: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com> Tested-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
31a96f4c87
commit
94c53e26dc
|
@ -1921,6 +1921,17 @@ int uvc_register_video_device(struct uvc_device *dev,
|
|||
vdev->vfl_dir = VFL_DIR_TX;
|
||||
else
|
||||
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);
|
||||
|
||||
/*
|
||||
|
|
|
@ -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));
|
||||
cap->capabilities = V4L2_CAP_DEVICE_CAPS | V4L2_CAP_STREAMING
|
||||
| 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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue