Hi Akinobu, Thanks for the patch. On Sat, Mar 30, 2019 at 2:01 PM Akinobu Mita <akinobu.mita@xxxxxxxxx> wrote: > > This driver returns an error if unsupported media bus pixel code is > requested by VIDIOC_SUBDEV_S_FMT. > > But according to Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst, > > Drivers must not return an error solely because the requested format > doesn't match the device capabilities. They must instead modify the > format to match what the hardware can provide. > > So select default format code and return success in that case. > > This is detected by v4l2-compliance. > > Cc: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> > Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> > --- > drivers/media/i2c/ov2659.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cheers, --Prabhakar Lad > diff --git a/drivers/media/i2c/ov2659.c b/drivers/media/i2c/ov2659.c > index 799acce..a1e9a98 100644 > --- a/drivers/media/i2c/ov2659.c > +++ b/drivers/media/i2c/ov2659.c > @@ -1117,8 +1117,10 @@ static int ov2659_set_fmt(struct v4l2_subdev *sd, > if (ov2659_formats[index].code == mf->code) > break; > > - if (index < 0) > - return -EINVAL; > + if (index < 0) { > + index = 0; > + mf->code = ov2659_formats[index].code; > + } > > mf->colorspace = V4L2_COLORSPACE_SRGB; > mf->field = V4L2_FIELD_NONE; > -- > 2.7.4 >