Re: [PATCH v3 1/3] media: mt9m111: make VIDIOC_SUBDEV_G_FMT ioctl work with V4L2_SUBDEV_FORMAT_TRY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux