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: Sakari Ailus <sakari.ai...@linux.intel.com>
Cc: Mauro Carvalho Chehab <mche...@kernel.org>
Signed-off-by: Akinobu Mita <akinobu.m...@gmail.com>
---
 drivers/media/i2c/ov2640.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/media/i2c/ov2640.c b/drivers/media/i2c/ov2640.c
index 5f888f5..439c6da 100644
--- a/drivers/media/i2c/ov2640.c
+++ b/drivers/media/i2c/ov2640.c
@@ -938,6 +938,9 @@ static int ov2640_get_fmt(struct v4l2_subdev *sd,
        mf->code        = priv->cfmt_code;
        mf->colorspace  = V4L2_COLORSPACE_SRGB;
        mf->field       = V4L2_FIELD_NONE;
+       mf->ycbcr_enc   = V4L2_YCBCR_ENC_DEFAULT;
+       mf->quantization = V4L2_QUANTIZATION_DEFAULT;
+       mf->xfer_func   = V4L2_XFER_FUNC_DEFAULT;
 
        return 0;
 }
@@ -964,6 +967,9 @@ static int ov2640_set_fmt(struct v4l2_subdev *sd,
 
        mf->field       = V4L2_FIELD_NONE;
        mf->colorspace  = V4L2_COLORSPACE_SRGB;
+       mf->ycbcr_enc   = V4L2_YCBCR_ENC_DEFAULT;
+       mf->quantization = V4L2_QUANTIZATION_DEFAULT;
+       mf->xfer_func   = V4L2_XFER_FUNC_DEFAULT;
 
        switch (mf->code) {
        case MEDIA_BUS_FMT_RGB565_2X8_BE:
-- 
2.7.4

Reply via email to