Commit 47fc65fa authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

media: vim2m/vicodec: set device_caps in video_device struct

Instead of setting device_caps/capabilities in the querycap ioctl, set
it in struct video_device instead.
Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 7c91d0a4
...@@ -397,11 +397,6 @@ static int vidioc_querycap(struct file *file, void *priv, ...@@ -397,11 +397,6 @@ static int vidioc_querycap(struct file *file, void *priv,
strncpy(cap->card, VICODEC_NAME, sizeof(cap->card) - 1); strncpy(cap->card, VICODEC_NAME, sizeof(cap->card) - 1);
snprintf(cap->bus_info, sizeof(cap->bus_info), snprintf(cap->bus_info, sizeof(cap->bus_info),
"platform:%s", VICODEC_NAME); "platform:%s", VICODEC_NAME);
cap->device_caps = V4L2_CAP_STREAMING |
(multiplanar ?
V4L2_CAP_VIDEO_M2M_MPLANE :
V4L2_CAP_VIDEO_M2M);
cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
return 0; return 0;
} }
...@@ -1311,6 +1306,8 @@ static int vicodec_probe(struct platform_device *pdev) ...@@ -1311,6 +1306,8 @@ static int vicodec_probe(struct platform_device *pdev)
vfd->lock = &dev->enc_mutex; vfd->lock = &dev->enc_mutex;
vfd->v4l2_dev = &dev->v4l2_dev; vfd->v4l2_dev = &dev->v4l2_dev;
strscpy(vfd->name, "vicodec-enc", sizeof(vfd->name)); strscpy(vfd->name, "vicodec-enc", sizeof(vfd->name));
vfd->device_caps = V4L2_CAP_STREAMING |
(multiplanar ? V4L2_CAP_VIDEO_M2M_MPLANE : V4L2_CAP_VIDEO_M2M);
v4l2_disable_ioctl(vfd, VIDIOC_DECODER_CMD); v4l2_disable_ioctl(vfd, VIDIOC_DECODER_CMD);
v4l2_disable_ioctl(vfd, VIDIOC_TRY_DECODER_CMD); v4l2_disable_ioctl(vfd, VIDIOC_TRY_DECODER_CMD);
video_set_drvdata(vfd, dev); video_set_drvdata(vfd, dev);
...@@ -1327,6 +1324,8 @@ static int vicodec_probe(struct platform_device *pdev) ...@@ -1327,6 +1324,8 @@ static int vicodec_probe(struct platform_device *pdev)
vfd = &dev->dec_vfd; vfd = &dev->dec_vfd;
vfd->lock = &dev->dec_mutex; vfd->lock = &dev->dec_mutex;
vfd->v4l2_dev = &dev->v4l2_dev; vfd->v4l2_dev = &dev->v4l2_dev;
vfd->device_caps = V4L2_CAP_STREAMING |
(multiplanar ? V4L2_CAP_VIDEO_M2M_MPLANE : V4L2_CAP_VIDEO_M2M);
strscpy(vfd->name, "vicodec-dec", sizeof(vfd->name)); strscpy(vfd->name, "vicodec-dec", sizeof(vfd->name));
v4l2_disable_ioctl(vfd, VIDIOC_ENCODER_CMD); v4l2_disable_ioctl(vfd, VIDIOC_ENCODER_CMD);
v4l2_disable_ioctl(vfd, VIDIOC_TRY_ENCODER_CMD); v4l2_disable_ioctl(vfd, VIDIOC_TRY_ENCODER_CMD);
......
...@@ -438,8 +438,6 @@ static int vidioc_querycap(struct file *file, void *priv, ...@@ -438,8 +438,6 @@ static int vidioc_querycap(struct file *file, void *priv,
strncpy(cap->card, MEM2MEM_NAME, sizeof(cap->card) - 1); strncpy(cap->card, MEM2MEM_NAME, sizeof(cap->card) - 1);
snprintf(cap->bus_info, sizeof(cap->bus_info), snprintf(cap->bus_info, sizeof(cap->bus_info),
"platform:%s", MEM2MEM_NAME); "platform:%s", MEM2MEM_NAME);
cap->device_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
return 0; return 0;
} }
...@@ -999,6 +997,7 @@ static const struct video_device vim2m_videodev = { ...@@ -999,6 +997,7 @@ static const struct video_device vim2m_videodev = {
.ioctl_ops = &vim2m_ioctl_ops, .ioctl_ops = &vim2m_ioctl_ops,
.minor = -1, .minor = -1,
.release = video_device_release_empty, .release = video_device_release_empty,
.device_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING,
}; };
static const struct v4l2_m2m_ops m2m_ops = { static const struct v4l2_m2m_ops m2m_ops = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment