Re: [PATCH 02/10] media: uvcvideo: Set capability in s_param

From: Laurent Pinchart
Date: Thu Mar 11 2021 - 10:44:03 EST


Hi Ricardo,

Thank you for the patch.

On Thu, Mar 11, 2021 at 01:20:32PM +0100, Ricardo Ribalda wrote:
> Fixes v4l2-compliance:
>
> Format ioctls (Input 0):
> warn: v4l2-test-formats.cpp(1339): S_PARM is supported but doesn't report V4L2_CAP_TIMEPERFRAME
> fail: v4l2-test-formats.cpp(1241): node->has_frmintervals && !cap->capability
>
> Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>

Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

> ---
> drivers/media/usb/uvc/uvc_v4l2.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
> index 5e3ec4a376e4..625c216c46b5 100644
> --- a/drivers/media/usb/uvc/uvc_v4l2.c
> +++ b/drivers/media/usb/uvc/uvc_v4l2.c
> @@ -472,10 +472,13 @@ static int uvc_v4l2_set_streamparm(struct uvc_streaming *stream,
> uvc_simplify_fraction(&timeperframe.numerator,
> &timeperframe.denominator, 8, 333);
>
> - if (parm->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
> + if (parm->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
> parm->parm.capture.timeperframe = timeperframe;
> - else
> + parm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
> + } else {
> parm->parm.output.timeperframe = timeperframe;
> + parm->parm.output.capability = V4L2_CAP_TIMEPERFRAME;
> + }
>
> return 0;
> }

--
Regards,

Laurent Pinchart