summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/vivi.c
AgeCommit message (Collapse)Author
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-19compat: Add code to compat.h for try_to_sleep()Trent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Compat.h used to have an argument, now it doesn't. There was also some code: if (current->flags & PF_FREEZE) { refrigerator(PF_FREEZE); } which is the same as try_to_freeze(), and so can be replaced by it. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-02-13fix compiler warning in vivi.cMarcel Siegert
From: Marcel Siegert <mws@linuxtv.org> the result of copy_to_user was not used, so the compiler complained now a warning will be issued if copy_to_user fails Signed-off-by: Marcel Siegert <mws@linuxtv.org>
2007-01-25Make vivi driver to use vmalloced pointersMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Before this patch, vivi were simulating a scatter gather DMA transfer. While this is academic, showing how stuff really works on a real PCI device, this means a non-optimized code. There are only two memory models that vivi implements: 1) kernel alloced memory. This is also used by read() method. On this case, a vmalloc32 buffer is allocated at kernel; 2) userspace allocated memory. This is used by most userspace apps. video-buf will store this pointer. a simple copy_to_user is enough to transfer data. The third memory model scenario supported by video-buf is overlay mode. This model is not implemented on vivi and unlikely to be implemented on newer drivers, since now, most userspace apps do some post-processing (like de-interlacing). After this patch, some cleanups may be done at video-buf.c to avoid allocating pages, when the driver doesn't need a PCI buffer. This is the case of vivi and usb drivers. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20rmmod should be reset to zero on kernel 2.4Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-14Some fixes at stream waitqueue on viviMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> There are several potential troubles on vivi waitqueue code: - Watchdog timer should be reset at every received frame; - Watchdog timer should be reset at the beginning of vivi_thread(); - Checks for errors when creating a newer thread with kernel_thread(); - Wake up vivi_thread() after creating it. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-13Fix OOPS on some waitqueue conditionsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-02From: Mauro Carvalho Chehab <mchehab@infradead.org>Mauro Carvalho Chehab
vivi.c uses the KM_BOUNCE_READ with local interrupts enabled. This means that if a disk interrupt occurs while vivi.c is using this fixmap slot, the vivi.c driver will, upon return from that interrupt, find that the fixmap slot now points at a different physical page. The net result will probably be rare corruption of disk file contents, because viv.c will now be altering the page which the disk code was recently using. Thanks to Andrew Morton <akpm@osdl.org> for pointing this. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-27Fix some troubles at the previous patchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> One test with vivi driver were comitted together by mistake; The whitespace identation were wrong at the previous patch. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-26usbvision fix: It was using "&&" instead "&"Mauro Carvalho Chehab
From: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-20Vivi: fix kthread_run() error checkMauro Carvalho Chehab
From: Akinobu Mita <akinobu.mita@gmail.com> The return value of kthread_run() should be checked by IS_ERR(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-20Vivi: fix use after free in list_for_each()Mauro Carvalho Chehab
From: Akinobu Mita <akinobu.mita@gmail.com> Freeing data including list_head in list_for_each() is not safe. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.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-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-10-06Fix vivi compile on pariscMauro Carvalho Chehab
From: Matthew Wilcox <matthew@wil.cx> parisc (and several other architectures) don't have a dma_address in their sg list. Use the macro instead. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-13Vivi crashes with mplayerMauro Carvalho Chehab
From: Sascha Hauer <s.hauer@pengutronix.de> The vivi.current_norm field is not initialized in vivi.c, so a VIDIOC_G_STD ioctl without a prior call to VIDIOC_S_STD gives unpredictable results. mplayer does exactly this. Signed-off-by Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-21Fix signedness error in drivers/media/video/vivi.cMauro Carvalho Chehab
From: Eric Sesterhenn <snakebyte@gmx.de> when checking the -Wextra signedness warnings issued by gcc 4.1 I came across this one: drivers/media/video/vivi.c:1001: warning: comparison of unsigned expression < 0 is always false Since videobuf_reqbufs() returns negative values on errors the current code does no real error checking since gcc removes the comparison. This patch fixes this issue by making ret a normal, signed integer. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.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-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-15Add compat.h code for schedule_timeout_interruptible()Trent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add a static inline version of schedule_timeout_interruptible(), it's only two lines, to compat.h. This will make bt866 and ks0127 compile with pre 2.6.14 kernels. Remove #if/#else code from msp3400, saa7134-tvaudio, and vivi that used to handle this. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-06-23drivers/media/video/vivi.c: make 2 functions staticMauro Carvalho Chehab
From: Adrian Bunk <bunk@stusta.de> Make two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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-07vidioc_streamon/streamoff callbacks were missing at structMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-07Improves debug msg for unsupported fourcc standardsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-06Make vivi to use the debug var from video_deviceMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-04vivi.c were ported to the newer videodev2 format.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Several common handling codes were removed. Maybe even more stuff may be handled at common infrastructure. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-05-12Removed blank line to be in sync with kernelMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-05-08Compat.h were missing in vivi.c. Fixed.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Without compat.h, it were not compiling for kernel <2.6.15 kernel-sync Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-27Vivi.c: possible cleanupsMauro Carvalho Chehab
From: Adrian Bunk <bunk@stusta.de> This patch contains the following possible cleanup: - make needlessly global functions static - remove unused #ifndef kzalloc kzalloc() #define - remove inline's from functions Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-27Vivi build fixMauro Carvalho Chehab
From: Andrew Morton <akpm@osdl.org> drivers/media/video/vivi.c: In function `vivi_map_sg': drivers/media/video/vivi.c:799: error: `DMA_NONE' undeclared (first use in this function) drivers/media/video/vivi.c:799: error: (Each undeclared identifier is reported only once drivers/media/video/vivi.c:799: error: for each function it appears in.) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-11Merge: from V4L1 treeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-23vivi: fix warning: implicit declaration of function 'in_interrupt'Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-03-10Corrects MODULE_AUTHORMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-10Creates a virtual video device driverMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The Virtual Video Device Driver (aka vivi) is a device that can be used to: 1) test core v4l functionalities; 2) be a prototype for newer development. Vivi were developed using the best practices for v4l driver. When loaded, it provides a video device that generates a standard color bar, with a timestamp placed at top left corner. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>