summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/uvc/uvc_v4l2.c
AgeCommit message (Collapse)Author
2008-12-30v4l2-ioctl: change to long return type to match unlocked_ioctl.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Since internal to v4l2 the ioctl prototype is the same regardless of it being called through .ioctl or .unlocked_ioctl, we need to convert it all to the long return type of unlocked_ioctl. Thanks to Jean-Francois Moine for posting an initial patch for this and thus bringing it to our attention. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Jean-Francois Moine <moinejf@free.fr>
2008-12-30v4l2: introduce v4l2_file_operations.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Introduce a struct v4l2_file_operations for v4l2 drivers. Remove the unnecessary inode argument. Move compat32 handling (and llseek) into the v4l2-dev core: this is now handled in the v4l2 core and no longer in the drivers themselves. Note that this changeset reverts an earlier patch that changed the return type of__video_ioctl2 from int to long. This change will be reinstated later in a much improved version. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-12-29uvcvideo: Add support for video output devicesLaurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Extend the range of supported UVC devices by allowing video output devices matching the following structure: TT_STREAMING -> VC_PROCESSING_UNIT -> VC_EXTENSION_UNIT{0,n} -> OTT_* Video output devices are reported with the V4L2_CAP_VIDEO_OUTPUT capability flag and are subject to the same restrictions as video input devices. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-12-16uvcvideo: V4L2 zoom controls supportLaurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Add support for absolute and continuous zoom controls (mapped to absolute and relative UVC zoom controls). Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-11-17uvcvideo: Fix printk badness when printing ioctl namesLaurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Add a trailing newline character after calling v4l_printk_ioctl() to avoid messing the kernel log up and merge the uvc_v4l2_ioctl message with the ioctl name. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-11-12uvcvideo: Commit streaming parameters when enabling the video stream.Laurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Sonix-based cameras seem to require the host to commit video streaming parameters before selecting the alternate endpoint. While most applications issue a VIDIOC_S_FMT ioctl before starting streaming, this is not required by the V4L2 specification. The problem has been noticed on Ubuntu 8.10 with applications using libv4l. The library blocks VIDIOC_S_FMT calls when the requested format is identical to the currently selected format. As the driver commits video streaming parameters when initialising the device, only the first run of a libv4l-enabled application would succeed. For the sake of completeness, experiment showed that the camera keeps sending 12 bytes isochronous packets (header only, no data) without toggling the FID bit if video streaming parameters haven't been committed before selecting the alternate endpoint. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-11-11uvcvideo: Enable compilation on kernels older than 2.6.22Laurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> The uvcvideo driver makes use of the usb_endpoint_* functions as well as the list_first_entry and uninitialized_var macros. Add them to v4l/compat.h and update the driver with kernel version-based conditional compilation sections. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-11-08uvcvideo: Handle failed video GET_{MIN|MAX|DEF} requests more gracefullyLaurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Failed requests will now generate a one-time warning message instead of the usual "Failed to query..." error, which should be more user-friendly. The driver will also recover automatically from failed GET_MIN/GET_MAX requests when the device is half-broken without requiring the MINMAX quirk (fully broken devices still need the quirk). Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-11-01v4l: remove inode argument from video_usercopyHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The inode argument was never used. Removing it from video_usercopy brings the function pointer type of video_usercopy in line with similar v4l2 functions, thus simplifying several drivers. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-10-21Get rid of inode parameter at v4l_compat_translate_ioctl()Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> The inode parameter at v4l_compat_translate_ioctl() were just passed over several places just to keep compatible with fops.ioctl. However, it weren't used anywere. This patch gets hid of this unused parameter. Priority: normal CC: Laurent Pinchart <laurent.pinchart@skynet.be> CC: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-16uvcvideo: Fix incomplete frame drop when switching to a variable size format.Mauro Carvalho Chehab
From: Laurent Pinchart <laurent.pinchart@skynet.be> When streaming in a fixed size format the driver sets a flag in the uvc_queue structure to drop incomplete incoming frames. The flag wasn't cleared when switching to a variable size format, which resulted in a broken 'MJPEG after YUV'. Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-08-23v4l: replace video_get_drvdata(video_devdata(filp)) with video_drvdata(filp)Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Use the new video_drvdata(filp) function where it is safe to do so. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-20videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.hHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The functions in a header should not belong to another module. The prio functions belong to v4l2-common.c, so move them to v4l2-common.h. The ioctl functions belong to v4l2-ioctl.c, so create a new v4l2-ioctl.h header and move those functions to it. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-04uvc/uvc_v4l2.c: suppress uninitialized var warningMauro Carvalho Chehab
From: Andrew Morton <akpm@linux-foundation.org> drivers/media/video/uvc/uvc_v4l2.c: In function `uvc_v4l2_mmap': drivers/media/video/uvc/uvc_v4l2.c:1035: warning: 'buffer' might be used uninitialized in this function Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-30From: Laurent Pinchart <laurent.pinchart@skynet.be>Mauro Carvalho Chehab
USB Video Class driver This driver supports video input devices compliant with the USB Video Class specification. This means lots of currently manufactured webcams, and probably most of the future ones. Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Notice: Due to MAINTAINERS file that isn't at mercurial tree, I've committed it on my -git and backported to -hg. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>