V4L/DVB (11271): usbvision: Remove buffer type checks from enum_fmt_vid_cap, XXXbuf
authorTrent Piepho <xyzzy@speakeasy.org>
Sun, 29 Mar 2009 01:25:36 +0000 (22:25 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:43:46 +0000 (12:43 -0300)
The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(q|dq|query)buf() and vidioc_reqbufs().

Since this driver only defines ->vidioc_try_fmt_vid_cap() the checks can be
removed from vidioc_reqbufs(), vidioc_qbuf(), and vidioc_dqbuf().

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.  So setting the
buffer type in vidioc_enum_fmt_vid_cap() can be removed.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/usbvision/usbvision-video.c

index 74a7652dee432d04519b75aa2f57f15fae6630f2..fa62a2fd7b22ee342102711712cf9c39306d3ae1 100644 (file)
@@ -757,8 +757,7 @@ static int vidioc_reqbufs (struct file *file,
 
        /* Check input validity:
           the user must do a VIDEO CAPTURE and MMAP method. */
-       if((vr->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) ||
-          (vr->memory != V4L2_MEMORY_MMAP))
+       if (vr->memory != V4L2_MEMORY_MMAP)
                return -EINVAL;
 
        if(usbvision->streaming == Stream_On) {
@@ -816,9 +815,6 @@ static int vidioc_qbuf (struct file *file, void *priv, struct v4l2_buffer *vb)
        unsigned long lock_flags;
 
        /* FIXME : works only on VIDEO_CAPTURE MODE, MMAP. */
-       if(vb->type != V4L2_CAP_VIDEO_CAPTURE) {
-               return -EINVAL;
-       }
        if(vb->index>=usbvision->num_frames)  {
                return -EINVAL;
        }
@@ -853,9 +849,6 @@ static int vidioc_dqbuf (struct file *file, void *priv, struct v4l2_buffer *vb)
        struct usbvision_frame *f;
        unsigned long lock_flags;
 
-       if (vb->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
-               return -EINVAL;
-
        if (list_empty(&(usbvision->outqueue))) {
                if (usbvision->streaming == Stream_Idle)
                        return -EINVAL;
@@ -921,7 +914,6 @@ static int vidioc_enum_fmt_vid_cap (struct file *file, void  *priv,
        if(vfd->index>=USBVISION_SUPPORTED_PALETTES-1) {
                return -EINVAL;
        }
-       vfd->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
        strcpy(vfd->description,usbvision_v4l2_format[vfd->index].desc);
        vfd->pixelformat = usbvision_v4l2_format[vfd->index].format;
        return 0;