summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/sn9c102
AgeCommit message (Collapse)Author
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-11-12Adds support for MT9V111 on sn9c102Mauro Carvalho Chehab
From: Luca Risolia <luca.risolia@studio.unibo.it> Adds a new image sensor to the sn9c102 driver. Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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-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-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-06-13SN9C1xx driver updatesMauro Carvalho Chehab
From: Luca Risolia <luca.risolia@studio.unibo.it> - Add support for pair OV7630+SN9C120 - Better and safe locking mechanism of the device structure on open(), close() and disconnect() - Use kref for handling device deallocation - Generic cleanups Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-02Use menuconfig objects II - V4LMauro Carvalho Chehab
From: Jan Engelhardt <jengelh@linux01.gwdg.de> Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-03Backed out changeset d130e8e1eb762e055371d5e3e1724d7735bad244Mauro Carvalho Chehab
Also reverting this one. V4L/DVB building system can't handle menuconfig and if/endif Kconfig items. We should first patch the building system before reapplying those two patches. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-02Use menuconfig objects II - V4LMauro Carvalho Chehab
From: Jan Engelhardt <jengelh@linux01.gwdg.de> Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-02SN9C1xx driver updatesMauro Carvalho Chehab
From: Luca Risolia <luca.risolia@studio.unibo.it> Changes: + new, * cleanup, @ bugfix * Default color improvements to the OV7660 @ Fix sn9c102_write_reg() @ Fix sn9c102_i2c_try_raw_read() @ Fix MI-0343 + Add support for pair MI0360+SN9C120 + Add more USB ids Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-04sn9c102: Make driver V4L2 not V4L1Trent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> sn9c102 is a v4l2 driver, except it used a couple v4l1 helper functions. Stop using those functions and depend on V4L2 in Kconfig. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Luca Risolia <luca.risolia@studio.unibo.it>
2007-04-04sn9c102: declare constant byte sequences as static constTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Makes sure they don't get copied onto the stack. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Luca Risolia <luca.risolia@studio.unibo.it>
2007-04-04sn9c102: more efficient register writing codeTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> There were many places in the driver which had long sequences of constant register initializations. These were done with one function call per register. The register address and value were immediate values in the function calls. This is very inefficient, as each register and value take twice the space when they are code, as each includes a push instruction to put it on the stack. There there is the overhead, both size and time, for a function call for each register. It's also quite a few lines of C code to do this. The patch creates a function that writes multiple registers from a list, and a macro that makes it easy to construct a such a list as a const static local to send to the function. This gets rid of quite a bit of C code, and shrinks the driver by around 8k, while at the same time being more efficient. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Luca Risolia <luca.risolia@studio.unibo.it>
2007-04-04compat: move compat.h to a better location in sn9c102 driverTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> compat.h should go after all the Linux kernel headers Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Luca Risolia <luca.risolia@studio.unibo.it>
2007-03-27Those files were missed on tha latest commitMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-26SN9C1xx driver updatesMauro Carvalho Chehab
From: Luca Risolia <luca.risolia@studio.unibo.it> Changes: + new, - removed, * cleanup, @ bugfix @ Don't assume that SOF headers can't cross packets boundaries @ Fix compression quality selection + Add support for MI-0360 image sensor * Documentation updates @ Fix sysfs @ MI0343 rewritten * HV7131R color fixes and add new ABLC control * Rename the archive from "sn9c102" to "sn9c1xx" * fix typos * better support for TAS5110D @ fix OV7630 wrong colors @ Don't return an error if no input buffers are enqueued yet on VIDIOC_STREAMON * Add informations about colorspaces * More appropriate error codes in case of failure of some system calls * More precise hardware detection * Add more informations about supported hardware in the documentation + More supported devices + Add support for HV7131R image sensor Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> 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-19compat: Add compat code for vm_insert_page()Trent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add an inline versin of vm_insert_page() that uses remap_pfn_range() to compat.h. Remove compat code from em28xx-video.c, sn9c102_core.c, and usbvision-video.c since compat.h is now doing the same thing. USB_ZC0301, USB_ET61X251, and USB_ZR364XX will now compile under 2.6.12. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-01-14Forgot to remove a file at changeset 5062 (c2546b022fa6)Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> sn9c102_pas202bca.c should have been removed at sha1 c2546b022fa6. This patch fix it. This change will also be folded at the original patch before merging on mainstream. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-08Several files were missed on changeset 5062 (c2546b022fa6)Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch should be fold to sha1 c2546b022fa6 before merging on mainstream. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-08SN9C102 driver updatesMauro Carvalho Chehab
From: Luca Risolia <luca.risolia@studio.unibo.it> Changes: - Add support for SN9C105 and SN9C120 - Add some more USB device identifiers - Add support for OV7660 - Implement audio ioctl's and VIDIOC_ENUM_FRAMESIZES - Add preliminary support for 0x0c45/0x6007 - Documentation updates - Generic improvements Signed-off-by Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-16Backported several changes from kernel 2.6.19-git seriesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Main changes: - There were several checks for usb release routines that were removed, since the routine itself checks for null values: usb_free_urb, usb_kill_urb, usb_unlink_urb Should be checked if this really happens on older kernels. - updated sound/oss/btaudio.c - replaced SLAB_ATOMIC to GFP_ATOMIC Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-21Fix: Slot 0 not NULL on disconnecting SN9C10x PC CameraMauro Carvalho Chehab
From: Luca Risolia <luca.risolia@studio.unibo.it> The patch fix bug 5748. Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> 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-13drivers/media/video: handle sysfs errorsMauro Carvalho Chehab
From: Jeff Garzik <jeff@garzik.org> Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-04No drivers should use VIDIOC_*_OLDMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> V4L core functions handle VIDIOC_*_OLD older ioctls. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-24Added missing pwc files from previous commitMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-24Fix compilation for sn9c102 on older kernelsMauro 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>
2006-04-11Merge: from V4L1 treeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>