mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-19 09:04:51 +08:00
V4L/DVB (11271): 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. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6174523c59
commit
975f5766be
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user