summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/videodev.c
AgeCommit message (Collapse)Author
2007-10-11Remove obsolete VIDIOC_S/G_MPEGCOMP ioctlsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Remove the obsolete VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP ioctls from the V4L2 API as per the removal schedule (October 2007). Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-08compat: Remove unneeded #ifTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Both true and false branch of the #if had the exact same code, just line wrapped differently. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-08V4L: convert struct class_device to struct deviceMauro Carvalho Chehab
From: Kay Sievers <kay.sievers@vrfy.org> The currently used "struct class_device" will be removed from the kernel. Here is a patch that converts all users in drivers/media/video/ to struct device. Reviewed-by: Thierry Merle <thierry.merle@free.fr> Reviewed-by: Mike Isely <isely@pobox.com> Reviewed-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
2007-08-06Dev.c: memset fixMauro Carvalho Chehab
From: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Hello, Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-02Fix v4l-dvb backward compatibilityMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Due to several internal API changes on kernel, kernel backward compatibility were lost. Basically, compat.h should be the last include for it to work properly. This patch basically reorders kernel headers to allow backward compat to work fine. Also: Some includes were added after some non-include macros, on old drivers. Better to keep all includes at the beginning of the files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-13Backport kernel changeset e63340ae6b6205fef26b40a75673d1c9c0c8bb90Mauro Carvalho Chehab
From: Mauro Carvalho Chehab kernel-sync: The original patch description, from Randy Dunlap <randy.dunlap@oracle.com>: header cleaning: don't include smp_lock.h when not used Remove includes of <linux/smp_lock.h> where it is not used/needed. Suggested by Al Viro. Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc, sparc64, and arm (all 59 defconfigs). Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-07V4L2: videodev, allow debuggingMauro Carvalho Chehab
From: Jiri Slaby <jirislaby@gmail.com> videodev, allow debugging fix typo? in videodev.c to allow debugging Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-01Fix: v4l1_compat should be called only if V4L1_COMPATMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Added also some explanations about V4L1 handling Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-01VIDIOCGMBUF handling in video_ioctl2()Mauro Carvalho Chehab
From: Sam Revitch <sam.revitch@gmail.com> Correct handling of VIDIOCGMBUF in video_ioctl2(). Signed-off-by: Sam Revitch <samr7@cs.washington.edu> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-24Fix: vidioc_g_parm were not zeroing the memoryMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-24Add support for VIDIOC_G_CHIP_IDENTHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> VIDIOC_G_CHIP_IDENT improves debugging of card problems: it can be used to detect which chips are on the board and based on that information selected register dumps can be made, making it easy to debug complicated media chips containing tens or hundreds of registers. This ioctl replaces the internal VIDIOC_INT_G_CHIP_IDENT ioctl. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Jonathan Corbet <corbet@lwn.net>
2007-02-21Add support for video output overlays.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY support. Also add support for local and global alpha overlays. Add new field enums V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT. These changes are needed to support the ivtv On Screen Display features. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-02-21Backport of git changeset cd354f1ae75e6466a7e31b727faede57a1f89ca5Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Backport a changeset from Schmielau <tim@physik3.uni-rostock.de> that removes uneeded includes for linux/sched.h Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21Backport: make file_operations constMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Backport a kernel patch by Arjan van de Ven <arjan@linux.intel.com> that made all file_operations instances const. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-18Add VIDIOC_TRY_ENCODER_CMD and VIDIOC_ENCODER_CMD ioctls.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add support for starting, stopping, pausing and resuming an MPEG (or similar compressed stream) encoder. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-02-18Add VIDIOC_G_ENC_INDEX ioctlHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The VIDIOC_G_ENC_INDEX ioctl can obtain the MPEG index from an MPEG encoder. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-01-30Add checks for CAP_SYS_ADMIN to VIDIOC_DBG_G_REGISTERTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Before, root privileges were only needed to set hardware registers, not to read them. On some hardware, reading from the wrong place at the wrong time can hang the machine. So, to be consistent, root privileges are required to read registers on all hardware. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-01-23Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal onlyTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The direct register access ioctls were defined as kernel internal only, but they are very useful for debugging hardware from userspace and are used as such. Officially export them. VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER Definition of ioctl and struct v4l2_register is moved from v4l2-common.h to videodev2.h. Types used in struct v4l2_register are changed to the userspace exportable versions (u32 -> __u32, etc). Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move the check into the video_ioctl2() dispatcher so it doesn't need to be duplicated in each driver's call-back function. CAP_SYS_ADMIN check is added to pvrusb2 (which doesn't use video_ioctl2). Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-01-22Restore VIDIOC_INT_[SG]_REGISTER callsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add support for these ioctls to the video_ioctl2 system and the cx88 driver. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-12-16Several stuff backported from 2.6.19-git seriesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> - INIT_WORK replaced by INIT_DELAYED_WORK - struct work_struct replaced by struct delayed_work - callback parameters also changed - SLAB_KERNEL replaced by GFP_KERNEL - linux/suspend.h replaced by linux/freezer.h - on cpia: INIT_WORK replaced by INIT_WORK_NAR - file->f_dentry->d_inode replaced by file->f_path.dentry->d_inode Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-01Improve debug msgs to show fourcc and buffer length on video_ioctl2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-20Remove the need of a STD array for drivers using video_ioctl2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> CC: Jonathan Corbet <corbet@lwn.net> video_ioctl2 will auto-generate standard entries at ENUM_FMT. Also, now, a driver may return a subset of the video array at the return, to be stored as the current_norm. For example, a driver may ask for V4L2_STD_PAL. At return, driver may change it to V4L2_STD_PAL_B. This way, a futher call to G_STD will return the exact detected video std. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-20Optimization of v4l1 handlingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-20Fix initializations on some video_ioctl2 handlersMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-13Fix oops in VIDIOC_G_PARMMauro Carvalho Chehab
From: Jonathan Corbet <corbet-v4l@lwn.net> The call to v4l2_std_construct() in the VIDIOC_G_PARM handler treats vfd->current_norm as if it were an index - but it's not. The result is an oops if the driver has no vidioc_g_parm() method defined. Here's the fix. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-09Fixed an if-block to avoid floating with debug-messagesMauro Carvalho Chehab
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> The dbgarg() macro in videodev.c contains some printk() statements where only the first one is influenced by an if-statement. This causes floating with debug-messages which is fixed by this patch by adding a '{ ... }' pair. Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-14Add a default method for VIDIOC_G_PARMMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> For most drivers, VIDIOC_G_PARM will just return the current standard fps. So, instead of failing, drivers based on video_ioctl2 will implement the default method. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-13Fix VIDIOC_ENUMSTD ioctl in videodev.cMauro Carvalho Chehab
From: Sascha Hauer <s.hauer@pengutronix.de> Do not return -EINVAL for index=0 in VIDIOC_ENUMSTD, because it is a valid index Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-11Copy-paste bug in videodev.cMauro Carvalho Chehab
This patch fixes a copy-paste bug in videodev.c where the vidioc_qbuf() function gets called for the dqbuf ioctl. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-30Fix a typo that caused some compat stuff to not workMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Config option typo: -#ifdef CONFIG_V4L1_COMPAT +#ifdef CONFIG_VIDEO_V4L1_COMPAT Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-25videodev: Check return value of class_device_register() correctlyTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Errors are return values < 0, not != 0. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-07-25videodev: Handle class_device related errorsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add proper error checking and roll-back for failure of class_device_create_file() in videodev.c. Print error messages and unroll partially created sysfs entries. Also, failure of class_device_register() in video_register_device() is handled correctly. It was failing to de-allocate the minor number. This must be done in video_register_device(), since the caller has no way of knowing if failure occurred before or after the class device was registered. Also added an error message if video_register_device() is called with an unknown type, which should never happen. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-07-23Fix for compilation without V4L1 or V4L1_COMPATMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Removed usage of HAVE_V4L1 Including videodev.h will just include videodev2.h if V4L1 is not supported V4L1 code at core drivers will honor CONFIG_V4L1_COMPAT stuff Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-19[PATCH] devfs: Remove the videodevice devfs_name field as it's no longer neededMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: backport from kernel to v4l/dvb tree Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-19[PATCH] devfs: Remove the devfs_fs_kernel.h file from the treeMauro Carvalho Chehab
From: Greg Kroah-Hartman <gregkh@suse.de> Also fixes up all files that #include it. kernel-sync: backport from kernel to v4l/dvb tree Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-19[PATCH] devfs: Remove devfs_remove() function from the kernel treeMauro Carvalho Chehab
From: Greg Kroah-Hartman <gregkh@suse.de> Removes the devfs_remove() function and all callers of it. kernel-sync: backport from kernel to v4l/dvb tree Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-19[PATCH] devfs: Remove devfs_mk_cdev() function from the kernel treeMauro Carvalho Chehab
From: Greg Kroah-Hartman <gregkh@suse.de> Removes the devfs_mk_cdev() function and all callers of it. kernel-sync: backport from kernel to v4l/dvb tree Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-18videodev: remove bad kfree()Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This fixes a previous commit -- We shouldnt kfree(&vfd->class_dev) inside video_register_device, since the resource is not allocated inside this function. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-07-18videodev: check the return value of class_device_registerMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> If an error occurs during class_device_register, print an error message, kfree(&vfd->class_dev), and return the error code to the caller of video_register_device. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-07-18videodev: replace class_device_create_file with video_device_create_fileMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch replaces the call to class_device_create_file with video_device_create_file, as defined in v4l2-dev.h, so that the return value of class_device_create_file will be checked. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-06-23merge: http://linuxtv.org/hg/~hverkuil/mpeg-apiMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-23fix userbits debug printsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Previously, it were showing the pointer value, instead of the setted bits. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-18Put old MPEGCOMP API under #if __KERNEL__ and issue warnings when used.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-06-18Add videodev support for VIDIOC_S/G/TRY_EXT_CTRLS.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> videodev.c copies the control list specified in struct v4l2_ext_controls to kernel space. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-06-17Fix: videodev.c were cleaning the pointer, not the valuesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-07Fix: Wrong callback check for streamoff.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-07Fixes some errors on *FMT functionsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> memset() were being called on wrong places; At the right places where memset() is required, the type value were being lost. Inserted also debug functions to VIDEO_CAPTURE buffers on *_FMT ioctls. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-06Fixes lots of small errors at videodev.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Fixes several small errors at debug; Fixes max line size to 80 columns; Fixes parameter passage to callback functions; Removed unused fh pointer at video_device struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-04Several improvements at videodev.cMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Videodev now is capable of better handling V4L2 api, by processing V4L2 ioctls and using callbacks to the driver. The drivers should be migrated to the newer way and the older one will be obsoleted soon. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-03fix warning: assignment discards qualifiers from pointer target typeMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The following warning in all kernels < 2.6.17 is caused by changeset a875912f0aada25949e3201bcd97e177040fa782 : http://linuxtv.org/hg/v4l-dvb?cmd=changeset;node=a875912f0aad videodev.c: In function 'video_open': videodev.c:131: warning: assignment discards qualifiers from pointer target type videodev.c:136: warning: assignment discards qualifiers from pointer target type dvbdev.c: In function 'dvb_device_open': dvbdev.c:105: warning: assignment discards qualifiers from pointer target type This changeset restores backwards-compatability. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>