diff options
author | Trent Piepho <xyzzy@speakeasy.org> | 2009-03-28 21:25:35 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:43:44 -0400 |
commit | 5a27578667b3bd00cab909296824498bdbd732d5 (patch) | |
tree | 684da677b29e234bcd3a3a020bb6428fdd13ba46 | |
parent | 601bc2984508e8b70a604167229f4f687eae63bb (diff) |
V4L/DVB (11263): gspca: Stop setting buffer type, and avoid memset in querycap
The v4l2-ioctl core checks the buffer type now by only allowing buffer
types for which the corresponding ->vidioc_try_fmt_xxx() methods are
defined.
This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE
buffers are allowed to be used with vidioc_g_parm. Also,
->vidioc_enum_fmt_vid_cap() is only called for VIDEO_CAPTURE buffers.
There is no need to set the buffer type since it must already be the
correct value.
The struct which ->vidioc_querycap() is supposed to fill in is already
zeroed so it's not necessary to call memset on it.
Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/gspca/gspca.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index 66e91d896eda..a75c1ca2db41 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c | |||
@@ -765,7 +765,6 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, | |||
765 | fmtdesc->pixelformat = fmt_tb[index]; | 765 | fmtdesc->pixelformat = fmt_tb[index]; |
766 | if (gspca_is_compressed(fmt_tb[index])) | 766 | if (gspca_is_compressed(fmt_tb[index])) |
767 | fmtdesc->flags = V4L2_FMT_FLAG_COMPRESSED; | 767 | fmtdesc->flags = V4L2_FMT_FLAG_COMPRESSED; |
768 | fmtdesc->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | ||
769 | fmtdesc->description[0] = fmtdesc->pixelformat & 0xff; | 768 | fmtdesc->description[0] = fmtdesc->pixelformat & 0xff; |
770 | fmtdesc->description[1] = (fmtdesc->pixelformat >> 8) & 0xff; | 769 | fmtdesc->description[1] = (fmtdesc->pixelformat >> 8) & 0xff; |
771 | fmtdesc->description[2] = (fmtdesc->pixelformat >> 16) & 0xff; | 770 | fmtdesc->description[2] = (fmtdesc->pixelformat >> 16) & 0xff; |
@@ -962,8 +961,6 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
962 | struct gspca_dev *gspca_dev = priv; | 961 | struct gspca_dev *gspca_dev = priv; |
963 | int ret; | 962 | int ret; |
964 | 963 | ||
965 | memset(cap, 0, sizeof *cap); | ||
966 | |||
967 | /* protect the access to the usb device */ | 964 | /* protect the access to the usb device */ |
968 | if (mutex_lock_interruptible(&gspca_dev->usb_lock)) | 965 | if (mutex_lock_interruptible(&gspca_dev->usb_lock)) |
969 | return -ERESTARTSYS; | 966 | return -ERESTARTSYS; |
@@ -1341,7 +1338,6 @@ static int vidioc_g_parm(struct file *filp, void *priv, | |||
1341 | { | 1338 | { |
1342 | struct gspca_dev *gspca_dev = priv; | 1339 | struct gspca_dev *gspca_dev = priv; |
1343 | 1340 | ||
1344 | parm->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | ||
1345 | parm->parm.capture.readbuffers = gspca_dev->nbufread; | 1341 | parm->parm.capture.readbuffers = gspca_dev->nbufread; |
1346 | 1342 | ||
1347 | if (gspca_dev->sd_desc->get_streamparm) { | 1343 | if (gspca_dev->sd_desc->get_streamparm) { |