Hi Mita-san, Marco, On Sun, Jan 27, 2019 at 09:29:30PM +0900, Akinobu Mita wrote: > 2019年1月24日(木) 0:17 Marco Felsch <m.felsch@xxxxxxxxxxxxxx>: > > > > Hi Akinobu, > > > > sorry for the delayed response. > > > > On 19-01-15 23:05, Akinobu Mita wrote: > > > The VIDIOC_SUBDEV_G_FMT ioctl for this driver doesn't recognize > > > V4L2_SUBDEV_FORMAT_TRY and always works as if V4L2_SUBDEV_FORMAT_ACTIVE > > > is specified. > > > > > > Cc: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx> > > > Cc: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> > > > Cc: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > > > Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > > > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > > > Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> > > > --- > > > * v3 > > > - Set initial try format with default configuration instead of > > > current one. > > > > > > drivers/media/i2c/mt9m111.c | 30 ++++++++++++++++++++++++++++++ > > > 1 file changed, 30 insertions(+) > > > > > > diff --git a/drivers/media/i2c/mt9m111.c b/drivers/media/i2c/mt9m111.c > > > index d639b9b..63a5253 100644 > > > --- a/drivers/media/i2c/mt9m111.c > > > +++ b/drivers/media/i2c/mt9m111.c > > > @@ -528,6 +528,16 @@ static int mt9m111_get_fmt(struct v4l2_subdev *sd, > > > if (format->pad) > > > return -EINVAL; > > > > > > + if (format->which == V4L2_SUBDEV_FORMAT_TRY) { > > > +#ifdef CONFIG_VIDEO_V4L2_SUBDEV_API > > > + mf = v4l2_subdev_get_try_format(sd, cfg, format->pad); > > > + format->format = *mf; > > > + return 0; > > > +#else > > > + return -ENOTTY; > > > +#endif > > > > If've checked this again and found the ov* devices do this too. IMO it's > > not good for other developers to check the upper layer if the '#else' > > path is reachable. There are also some code analyzer tools which will > > report this as issue/warning. > > > > As I said, I checked the v4l2_subdev_get_try_format() usage again and > > found the solution made by the mt9v111.c better. Why do you don't add a > > dependency in the Kconfig, so we can drop this ifdef? > > I'm ok with adding CONFIG_VIDEO_V4L2_SUBDEV_API dependency to this > driver, because I always enable it. > > But it may cause an issue on some environments that don't require > CONFIG_VIDEO_V4L2_SUBDEV_API. > > Sakari, do you have any opinion? I think the dependency is just fine. There are drivers that do not support MC (and V4L2 sub-device uAPI) but if a driver does, I don't see why it couldn't depend on the related Kconfig option. -- Regards, Sakari Ailus sakari.ailus@xxxxxxxxxxxxxxx