On Tue, 5 Dec 2017, Laurent Pinchart wrote:

> Hi Guennadi,
> 
> On Tuesday, 5 December 2017 11:14:18 EET Guennadi Liakhovetski wrote:
> > On Tue, 5 Dec 2017, Laurent Pinchart wrote:
> > > The function will then be used to register the video device for metadata
> > > capture.
> > > 
> > > Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> > > ---
> > > 
> > >  drivers/media/usb/uvc/uvc_driver.c | 66 ++++++++++++++++++++-------------
> > >  drivers/media/usb/uvc/uvcvideo.h   |  8 +++++
> > >  2 files changed, 49 insertions(+), 25 deletions(-)
> > > 
> > > diff --git a/drivers/media/usb/uvc/uvc_driver.c
> > > b/drivers/media/usb/uvc/uvc_driver.c index f77e31fcfc57..b832929d3382
> > > 100644
> > > --- a/drivers/media/usb/uvc/uvc_driver.c
> > > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > > @@ -24,6 +24,7 @@
> > >  #include <asm/unaligned.h>
> > >  
> > >  #include <media/v4l2-common.h>
> > > +#include <media/v4l2-ioctl.h>
> > > 
> > >  #include "uvcvideo.h"
> > > @@ -1895,52 +1896,63 @@ static void uvc_unregister_video(struct uvc_device
> > > *dev)
> > 
> > [snip]
> > 
> > >   vdev->release = uvc_release;
> > >   vdev->prio = &stream->chain->prio;
> > > 
> > > - if (stream->type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
> > > + if (type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
> > >           vdev->vfl_dir = VFL_DIR_TX;
> > 
> > Why isn't .vfl_dir set for other stream types? Are you jusut relying on
> > VFL_DIR_RX == 0? I'd use a switch (type) here which then would be extended
> > in your next patch with .device_caps fields.
> 
> Yes, and I agree it's not right. How about
> 
>       if (type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
>               vdev->vfl_dir = VFL_DIR_TX;
>       else
>               vdev->vfl_dir = VFL_DIR_RX;
> 
> Then it won't need to be touched when adding metadata support.

Well, I personally find it a bit less than elegant to have

        if (x = a)
                ...
        else
                ...

        switch (x) {
        case a:
                ...
        ...
        }

Also, if I did end up having these two separate, I'd also rather use the 
?: operator for the first one, but in the end it's up to you, I won't 
fight for that :-)

Thanks
Guennadi

Reply via email to