Hi Mita-san,
On Sun, Dec 23, 2018 at 02:12:54AM +0900, Akinobu Mita wrote:
> This driver doesn't set all members of mbus format field when the
> VIDIOC_SUBDEV_{S,G}_FMT ioctls are called.
>
> This is detected by v4l2-compliance.
>
> Cc: Guennadi Liakhovetski <[email protected]>
> Cc: Sakari Ailus <[email protected]>
> Cc: Mauro Carvalho Chehab <[email protected]>
> Signed-off-by: Akinobu Mita <[email protected]>
> ---
> drivers/media/i2c/mt9m001.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/media/i2c/mt9m001.c b/drivers/media/i2c/mt9m001.c
> index f4afbc9..82b89d5 100644
> --- a/drivers/media/i2c/mt9m001.c
> +++ b/drivers/media/i2c/mt9m001.c
> @@ -342,6 +342,9 @@ static int mt9m001_get_fmt(struct v4l2_subdev *sd,
> mf->code = mt9m001->fmt->code;
> mf->colorspace = mt9m001->fmt->colorspace;
> mf->field = V4L2_FIELD_NONE;
> + mf->ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT;
> + mf->quantization = V4L2_QUANTIZATION_DEFAULT;
> + mf->xfer_func = V4L2_XFER_FUNC_DEFAULT;
Instead of setting the fields individually, would it be feasible to just
assign mt9m001->fmt to mf?
>
> return 0;
> }
> @@ -402,6 +405,10 @@ static int mt9m001_set_fmt(struct v4l2_subdev *sd,
> }
>
> mf->colorspace = fmt->colorspace;
> + mf->field = V4L2_FIELD_NONE;
> + mf->ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT;
> + mf->quantization = V4L2_QUANTIZATION_DEFAULT;
> + mf->xfer_func = V4L2_XFER_FUNC_DEFAULT;
Ditto.
>
> if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
> return mt9m001_s_fmt(sd, fmt, mf);
--
Sakari Ailus
[email protected]