summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cpia2
AgeCommit message (Collapse)Author
2008-08-29merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-devMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-08-23v4l-dvb: fix a bunch of sparse warningsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Fixed a lot of sparse warnings: mostly warnings about shadowed variables and signed/unsigned mismatches. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
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-08-23v4l: fix more incorrect video_register_device result checksHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-26v4l2-dev: remove unused type and type2 field from video_deviceHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The type and type2 fields were unused and so could be removed. Instead add a vfl_type field that contains the type of the video device. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-25videodev: remove some CONFIG_VIDEO_V4L1_COMPAT code from v4l2-dev.hHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The video_device_create_file and video_device_remove_file functions can be removed from v4l2-dev.h, removing the dependency on videodev.h in v4l2-dev.h. Also removed a few more videodev.h includes that should have been videodev2.h. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-21Remove obsolete owner field from video_device struct.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> According to an old comment this should have been removed in 2.6.15. Better late than never... Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-24This patch fixes some kernel version checks.Mauro Carvalho Chehab
From: Reinhard Schwab <reinhard.schwab@aon.at> Signed-off-by: Reinhard Schwab <reinhard.schwab@aon.at> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-24make cpia2 and vicam backward compatibleMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Probably, this is a bit overkill, but let's keep the old behavior for kernels lower than 2.6.27, until we make sure that those changes work fine also for older kernels. kernel-sync: since we don't want this patch to go to kernel Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-24backport request_firmware changesets for vicam and cpia2_coreMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Backport changeset 04a33e406a062cd1bb55014ee17a3558109a2d74 Author: David Woodhouse <dwmw2@infradead.org> Date: Mon Jun 23 11:36:23 2008 +0100 cpia2: use request_firmware() Thanks for Jaswinder Singh for converting the firmware blob itself to ihex. Backport changeset fb54be8755d386008bfadb7fc8ff89451fa3a9c9 Author: Jaswinder Singh <jaswinder@infradead.org> Date: Fri Jun 27 19:50:40 2008 +0530 vicam: use request_firmware() Although it wasn't actually using ihex records before, we use the Intel HEX record format for this firmware -- because that gives us a simple way to split it into separate chunks internally as we need, without loading each part as a separate file. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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-08v4l-dvb: remove support for kernels < 2.6.16Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 4 removes the compatibility support for kernels < 2.6.16. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-04-08media/video/cpia2 replace remaining __FUNCTION__ occurrencesMichael Krufky
From: Harvey Harrison <harvey.harrison@gmail.com> __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-03-23[PATCH] add macro validation for v4l_compat_ioctl32.Douglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> Added macro CONFIG_COMPAT for v4l_compat_ioctl32. Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2008-01-27[PATCH] static memoryDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> - Static memory is always initialized with 0. - Replaced in some cases C99 comments for /* */ Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2007-10-15v4l core: remove the unused .hardware V4L1 fieldMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> struct video_device used to define a .hardware field. While initialized on severl drivers, this field is never used inside V4L. However, drivers using it need to include the old V4L1 header. This seems to cause compilation troubles with some random configs. Better just to remove it from all drivers. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-21Cleanup: remove linux/moduleparam.h from drivers/media filesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This patch removes all occurences of moduleparm.h from drivers/media files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20Backport changeset from kernel mainstreamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: The original patch from Yoann Padioleau <padator@wanadoo.fr>: Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-16Clean up schedule_timeout calls in cpia2 and ivtv codeMauro Carvalho Chehab
From: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-05Replace C code with calls to ARRAY_SIZE macro.Mauro Carvalho Chehab
From: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> 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>
2006-12-20Cpia2/cpia2_usb.c: fix error-path leakMauro Carvalho Chehab
From: Amit Choudhary <amit2030@gmail.com> Free previously allocated memory (in array elements) if kmalloc() returns NULL in submit_urbs(). Signed-off-by: Amit Choudhary <amit2030@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-21IRQ: Maintain regs pointer globally rather than passing to IRQ handlersMauro Carvalho Chehab
Kernel-sync: This patch is required to allow compilation of the tree with kernel 2.6.19. This is the original description of the original patch, signed by David Howells <dhowells@redhat.com>: Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-04[PATCH] Generic booleanMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Applied the relevant parts of Generic boolean patch from Richard Knutsson <ricknu-0@student.ltu.se> This patch defines: * a generic boolean-type, named 'bool' * aliases to 0 and 1, named 'false' and 'true' Removing colliding definitions of 'bool', 'false' and 'true'. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-23Fix broken dependencies on media Kconfig Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-19Remove obsolete #include <linux/config.h>Mauro Carvalho Chehab
From: Jörn Engel <joern@wohnheim.fh-wedel.de> kernel-sync: Kernel adds "-include include/linux/autoconf.h" for every file to be compiled, so, including config.h is not required. Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-23Fix use-after-free bug in cpia2 driverMauro Carvalho Chehab
From: Jesper Juhl <jesper.juhl@gmail.com> The coverity checker detected a use-after-free error in drivers/media/video/cpia2/cpia2_v4l.c::cpia2_close() (coverity error #1281). What happens is that we lock cam->busy_lock, then proceed to free resources, and in the case of (--cam->open_count == 0) we finish off by doing a kfree(cam) and then at the end of the function we do a mutex_unlock(&cam->busy_lock) which will explode since it'll dereference the free'd `cam' : ... mutex_lock(&cam->busy_lock); ... if (--cam->open_count == 0) { ... if (!cam->present) { video_unregister_device(dev); kfree(cam); } } mutex_unlock(&cam->busy_lock); <--- PROBLEM, cam no longer around. ... Since this only happens in the case of open_count going down to zero I don't see a problem with just releasing the mutex after unregistering the device and just before the kfree(). In this case there is nothing around that we can race against; we are in the release method, open_count is zero, (!cam->present) and the device has just been unregistered, so letting go of the mutex at this point looks safe to me. Patch below to implement that solution. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-20Whitespace cleanupsMauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-05Removed all references to kernel stuff from videodev.h and videodev2.hMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The videodev.h and videodev2.h describe the public API for V4L and V4L2. It shouldn't have there any kernel-specific stuff. Those were moved to v4l2-dev.h. This patch removes some uneeded headers and include v4l2-common.h on all V4L driver. This header includes device implementation of V4L2 API provided on v4l2-dev.h as well as V4L2 internal ioctls that provides connections between master driver and its i2c devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-11Since we are not using CVS, $Id makes no sense anymoreMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-02cpia2: fix function prototypeMauro Carvalho Chehab
From: Randy Dunlap <rdunlap@xenotime.net> Fix address space warning (from sparse): drivers/media/video/cpia2/cpia2_core.c:2355:6: error: symbol 'cpia2_read' redeclared with different type (originally declared at drivers/media/video/cpia2/cpia2.h:458) - incompatible argument 2 (different address spaces) kernel-sync Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-02Kernel-sync patchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Mostly because of documentation renames from mkfrufy. Also, a small fix at cpia2. kernel-sync Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-29Kernel-sync changes to -gitMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-20Make cpia2 compile with older kernel versionsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-20PATCH: switch cpia2 to mutexes and use ioctl 32 compat lib funcMauro Carvalho Chehab
From: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-16VIDEO_CPIA2 must depend on USBMichael Krufky
From: Adrian Bunk <bunk@stusta.de> CONFIG_VIDEO_CPIA2=y, CONFIG_USB=n results in the following compile error: <-- snip --> ... LD .tmp_vmlinux1 drivers/built-in.o: In function `set_alternate':cpia2_usb.c:(.text+0x443aa2): undefined reference to `usb_set_interface' :cpia2_usb.c:(.text+0x443abe): undefined reference to `usb_set_interface' drivers/built-in.o: In function `cpia2_usb_stream_resume': undefined reference to `usb_alloc_urb' drivers/built-in.o: In function `cpia2_usb_stream_resume': undefined reference to `usb_submit_urb' drivers/built-in.o: In function `cpia2_usb_stream_pause': undefined reference to `usb_kill_urb' drivers/built-in.o: In function `cpia2_usb_stream_pause': undefined reference to `usb_free_urb' drivers/built-in.o: In function `cpia2_usb_disconnect':cpia2_usb.c:(.text+0x443e14): undefined reference to `usb_driver_release_interface' drivers/built-in.o: In function `cpia2_usb_transfer_cmd': undefined reference to `usb_control_msg' drivers/built-in.o: In function `cpia2_usb_transfer_cmd': undefined reference to `usb_control_msg' drivers/built-in.o: In function `cpia2_usb_complete':cpia2_usb.c:(.text+0x444836): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `cpia2_usb_cleanup': undefined reference to `usb_deregister' drivers/built-in.o: In function `cpia2_usb_init': undefined reference to `usb_register_driver' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-03-13cpia2: move Kconfig build logic into cpia2/KconfigMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-03-10V4L/DVB (3399a): cpia2/cpia2_v4l.c cleanupsMauro Carvalho Chehab
From: Adrian Bunk <bunk@stusta.de> - make 2 needlessly global functions static - remove cpia2_setup(): the driver already allows setting parameters through module_param(), and there's no reason for having two different ways for setting the same parameters kernel-sync 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-03-08Typos grab bag of the monthOliver Endriss
From: Alexey Dobriyan <adobriyan@gmail.com> Typos grab bag of the month. Eyeballed by jmc@ in OpenBSD. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2006-02-24Add cpia2 camera supportMauro Carvalho Chehab
From: Alan Cox <alan@redhat.com> There has been a CPIA2 driver out of kernel for a long time and it has been pretty clean for some time too. This is an import of the sourceforge driver which has been stripped of - 2.4 back compatibility - 2.4 old style MJPEG ioctls A couple of functions have been made static and the docs have been repackaged into Documentation/video4linux. The rvmalloc/free functions now match the cpia driver again. Other than that this is the code as is. Tested on x86-64 with a QX5 microscope. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>