media: usb/gadget/f_uvc: set device_caps in struct video_device
Instead of filling in the struct v4l2_capability device_caps field, fill in the struct video_device device_caps field. That way the V4L2 core knows what the capabilities of the video device are. But this only really works if all drivers use this, so convert this UVC gadget driver. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
Родитель
372332b111
Коммит
1397e3ec0c
|
@ -423,6 +423,7 @@ uvc_register_video(struct uvc_device *uvc)
|
|||
uvc->vdev.release = video_device_release_empty;
|
||||
uvc->vdev.vfl_dir = VFL_DIR_TX;
|
||||
uvc->vdev.lock = &uvc->video.mutex;
|
||||
uvc->vdev.device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
|
||||
strlcpy(uvc->vdev.name, cdev->gadget->name, sizeof(uvc->vdev.name));
|
||||
|
||||
video_set_drvdata(&uvc->vdev, uvc);
|
||||
|
|
|
@ -71,10 +71,6 @@ uvc_v4l2_querycap(struct file *file, void *fh, struct v4l2_capability *cap)
|
|||
strlcpy(cap->card, cdev->gadget->name, sizeof(cap->card));
|
||||
strlcpy(cap->bus_info, dev_name(&cdev->gadget->dev),
|
||||
sizeof(cap->bus_info));
|
||||
|
||||
cap->device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
|
||||
cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче