mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 23:54:04 +08:00
media: uvcvideo: Set unique vdev name based in type
All the entities must have a unique name. We can have a descriptive and unique name by appending the function and the entity->id. This is even resilent to multi chain devices. Fixes v4l2-compliance: Media Controller ioctls: fail: v4l2-test-media.cpp(205): v2_entity_names_set.find(key) != v2_entity_names_set.end() test MEDIA_IOC_G_TOPOLOGY: FAIL fail: v4l2-test-media.cpp(394): num_data_links != num_links test MEDIA_IOC_ENUM_ENTITIES/LINKS: FAIL Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
457e7911df
commit
e3f60e7e1a
@ -2193,6 +2193,7 @@ int uvc_register_video_device(struct uvc_device *dev,
|
||||
const struct v4l2_file_operations *fops,
|
||||
const struct v4l2_ioctl_ops *ioctl_ops)
|
||||
{
|
||||
const char *name;
|
||||
int ret;
|
||||
|
||||
/* Initialize the video buffers queue. */
|
||||
@ -2221,16 +2222,20 @@ int uvc_register_video_device(struct uvc_device *dev,
|
||||
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
|
||||
default:
|
||||
vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
|
||||
name = "Video Capture";
|
||||
break;
|
||||
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
|
||||
vdev->device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
|
||||
name = "Video Output";
|
||||
break;
|
||||
case V4L2_BUF_TYPE_META_CAPTURE:
|
||||
vdev->device_caps = V4L2_CAP_META_CAPTURE | V4L2_CAP_STREAMING;
|
||||
name = "Metadata";
|
||||
break;
|
||||
}
|
||||
|
||||
strscpy(vdev->name, dev->name, sizeof(vdev->name));
|
||||
snprintf(vdev->name, sizeof(vdev->name), "%s %u", name,
|
||||
stream->header.bTerminalLink);
|
||||
|
||||
/*
|
||||
* Set the driver data before calling video_register_device, otherwise
|
||||
|
Loading…
Reference in New Issue
Block a user