The patch number 11271 was added via Trent Piepho <[email protected]>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <[email protected]>

------

From: Trent Piepho  <[email protected]>
usbvision: Remove buffer type checks from enum_fmt_vid_cap, XXXbuf


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.

Priority: normal

Signed-off-by: Trent Piepho <[email protected]>


---

 linux/drivers/media/video/usbvision/usbvision-video.c |   10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff -r 1d2ae100255d -r 5dd6945acfc3 
linux/drivers/media/video/usbvision/usbvision-video.c
--- a/linux/drivers/media/video/usbvision/usbvision-video.c     Sat Mar 28 
18:25:36 2009 -0700
+++ b/linux/drivers/media/video/usbvision/usbvision-video.c     Sat Mar 28 
18:25:36 2009 -0700
@@ -757,8 +757,7 @@ static int vidioc_reqbufs (struct 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 *fil
        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;
        }
@@ -852,9 +848,6 @@ static int vidioc_dqbuf (struct file *fi
        int ret;
        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)
@@ -921,7 +914,6 @@ static int vidioc_enum_fmt_vid_cap (stru
        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;


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/5dd6945acfc30f2460b14f9fe0e2764e3611e439

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to