summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88
AgeCommit message (Collapse)Author
2007-03-11cx88: whitespace cleanupMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> replace leading spaces with tabs Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-03-11cx88: autodetect ADS Tech InstantTV DVB-SMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The ADS Tech InstantTV DVB-S is a clone of the KWorld DVB-S 100. This patch adds autodetection support for this card based on pci subsystem id. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-02-27dvb: Remove lgh06xf driverTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The code of the dvb-pll driver and the lgh06xf driver is nearly identical. The main difference is that the lgh06xf driver would set the AGC TOP value on every tune call. The dvb-pll driver now has the ability to set the AGC TOP when the front-end device is opened, which is a better way to go about it. By using this ability of dvb-pll, the lgh06xf driver is made unnecessary. There is one other difference. dvb-pll will probe for the presence of an I2C pll chip by doing a one byte read, the lgh06xf driver did not do this. In some devices the PLL is not reachable over I2C at the timer the tuner is attached. Some more initialization, such as firmware loading, must take place first. None of the devices using a LG-H06xF should have this problem. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Michael Krufky <mkrufky@linuxtv.org>
2007-02-24Improve chip matching in v4l2_register for VIDIOC_DBG_G/S_REGISTERHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The chip matching in struct v4l2_register was rather primitive. It could not be extended to other busses besides i2c and it lacked a way to differentiate between two i2c chips driven by the same driver on one board (e.g. a PVR500 with two tuner chips, one for analog TV and one for radio). It has now been improved making it much more powerful. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Mike Isely <isely@isely.net> CC: Trent Piepho <xyzzy@speakeasy.org>
2007-02-23merge: http://linuxtv.org/hg/~mrechberger/v4l-dvb-cx88Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21coding style changesMarkus Rechberger
From: Markus Rechberger <mrechberger@gmail.com> coding style changes Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
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-20added support for loading cx88-dvb and cx88-blackbirdMarkus Rechberger
From: Markus Rechberger <mrechberger@gmail.com> added support for loading cx88-dvb and cx88-blackbird Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
2007-02-20added support for deferred module requesting to cx88Markus Rechberger
From: Markus Rechberger <mrechberger@gmail.com> added support for deferred module requesting to cx88 Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
2007-02-18cx88-blackbird: allow usage of both 376836 and 262144 sized firmware imagesMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This updates the cx88-blackbird driver to be able to use the new cx23416 firmware image released by Hauppauge Computer Works, while retaining compatibility with the older firmware images. cx2341x firmware can be downloaded at: http://dl.ivtvdriver.org/ivtv/firmware/ Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-02-06Cx88-video.c: remove struct radionormsMauro Carvalho Chehab
From: Adrian Bunk <bunk@stusta.de> This patch removes the unused struct radionorms. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-30Remove obsolete alias defines of CONFIG_* settingsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The out of tree v4l-dvb build system didn't always override the kernel's configuration settings with v4l-dvb's settings correctly. To work around this, makefiles would define some new macro based on the setting of a config variable. e.g. the pwc Makefile would define CONFIG_PWC_DEBUG if CONFIG_USB_PWC_DEBUG (which is defined via Kconfig) was set. The v4l-dvb build system should now always override correctly, and this is no longer necessary. This patch gets ride of these extra defines and just uses the CONFIG_* settings directly. 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-23merge: http://linuxtv.org/hg/~tap/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.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>
2007-01-21cx88: Add support for svideo/composite input of the Terratec Cinergy 1400 DVB-TMichael Krufky
From: Heiko Baums <heiko@baums-on-web.de> Adds support for the combined S-Video/Composite input of the Terratec Cinergy 1400 DVB-T. Signed-off-by: Heiko Baums <heiko@baums-on-web.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-01-20keep the previous tvnorm default for cx88 and cx88-blackbirdMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The video_ioctl2 conversion replaced the default from NTSC to PAL_BG. This broke cx88-blackbird. Probably, there are some badness at this driver, not doing all required stuff to change video standard. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Convert cx88-blackbird to use video_ioctl2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch finishes cx88-blackbird conversion to use video_ioctl2. Video standards are generated automatically inside videodev.c. the big ioctl parser is removed, using, instead, video_ioctl2. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Remove_cx88_ioctlMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> cx88_ioctl were merged at the master ioctl handler on cx88-blackbird Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Use cx88_set_freq() on cx88-blackbird.cMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Do some cleanups at cx88-blackbirdMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-of-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20changeset: 4899:0e0da8488f6b6ca379cf012987bd37237dfbab25Mauro Carvalho Chehab
tag: tip user: Mauro Carvalho Chehab <mchehab@infradead.org> date: Mon Nov 27 21:28:04 2006 -0200 files: linux/drivers/media/video/cx88/cx88-blackbird.c description: Reorder some ioctl handlers to make easy to convert to video_ioctl2 From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Moved several stuff that were at cx88-video to cx88-blackbird.cMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> cx88-blackbird were using some ioctl handling that were previously on cx88-video.
2007-01-20Fix vidioc_g_tuner handlingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-video.c | 2 ++ 1 file changed, 2 insertions(+)
2007-01-20Removed v4l2_tvnorm and made videodev to auto-generate standardsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> v4l2_tvnorm were meant to describe video standards and its names to V4L2 API. However, this were meaning several static structures at the driver. This patch changes the internals in a way that, at the driver, only a v4l2_tvnorm (a 32 bit integer) should be filled, with all supported parameters. videodev will dynamically generate the proper API array based on supported standards. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Renamed video_mux to cx88_video_mux and exported to cx88-blackbirdMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-video.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
2007-01-20Make cx88-blackbird to work againMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-video.c | 84 ++- linux/drivers/media/video/cx88/cx88.h | 12 3 files changed, 421 insertions(+), 238 deletions(-)
2007-01-20Uncommented NTSC/443 video standardMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Added support for V4L2_STD_NTSC_443Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
2007-01-20Convert cx8800 driver to video_ioctl2 handlerMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> video_ioctl2 handler provides V4L2 API parsing. Using it makes the driver simpler, and isolates API parsing. This allows future reusage of driver controls using other ways, like sysfs and/or procfs and increases isolation of driver-specific handling from the generic common ioctl processing. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-07freezer.h exists only on kernel 2.6.20Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Create compat code with older kernels. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-07Cx88xx: Fix lockup on suspendMauro Carvalho Chehab
From: Robert Hancock <hancockr@shaw.ca> Suspending with the cx88xx module loaded causes the system to lock up because the cx88_audio_thread kthread was missing a try_to_freeze() call, which caused it to go into a tight loop and result in softlockup when suspending. Fix that. Signed-off-by: Robert Hancock <hancockr@shaw.ca> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-27Backport some changes that happened at mainstreamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Basic changes: - replaced i2c_bit_del_bus() to i2c_del_adapter(); - Fixed MODULE_AUTHOR on ov7670 - Updates on drivers not maintained on this tree: i2c-id.h and sound/* kernel-sync: drivers/media/dvb/pluto2/pluto2.c | 8 ++++---- drivers/media/video/bt8xx/bttv-i2c.c | 6 +----- drivers/media/video/cx88/cx88-core.c | 2 +- drivers/media/video/cx88/cx88-vp3054-i2c.c | 2 +- drivers/media/video/ov7670.c | 2 +- drivers/media/video/vino.c | 2 +- drivers/media/video/zoran_card.c | 2 +- include/linux/i2c-id.h | 18 ++++++------------ sound/pci/bt87x.c | 4 ++-- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-23cx88: Fix leadtek_eeprom taggingMichael Krufky
From: Jean Delvare <khali@linux-fr.org> WARNING: drivers/media/video/cx88/cx88xx.o - Section mismatch: reference to .init.text: from .text between 'cx88_card_setup' (at offset 0x68c) and 'cx88_risc_field' Caused by leadtek_eeprom() being declared __devinit and called from a non-devinit context. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-18Fixes bug 7267: PAL/60 is not workingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> On cx88 driver, sampling rate should be at chroma subcarrier freq (FSC). However, driver were programming wrong values for PAL/60, PAL/Nc and NTSC 4.43. This patch do the proper calculation. It also calculates htotal, hdelay and hactive constants, according with the sampling rate. It is tested with PAL/60 by Piotr Maksymuk and Olivier. Test is still required for PAL/Nc. 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-12-05cx88: trivial cleanupsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> - small whitespace cleanups - 80-column whitespace cleanups - remove unneeded brackets Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: Move cx88_dvb_bus_ctrl out of the card-specific areaMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This function should not be in the card-specific area of the file. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: consolidate cx22702_config structsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> There are five cx22702_config structs used by cx88-dvb, only two of which are unique. This patch removes the duplicates and sets each card to use one of the two remaining config structs. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attachMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Converted DViCO FusionHDTV Hybrid to use dvb_pll_attach, removing another static dependency of cx88-dvb on dvb-pll. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
2006-12-04cx88: cleanup dvb_pll_attach for lgdt3302 tunersMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Since we're using dvb_pll_attach now, we dont have to populate dev->core->pll_addr or dev->core->pll_desc anymore. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: Convert lgdt3302 tuning function to use dvb_pll_attachTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> There was a still a pre-dvb-pll set_params function for the lgdt3302 in the cx88-dvb driver. This patch removes that function and uses dvb_pll_attach() for the cards that were using it (Dvico FusionHDTV 3 GOLD {Q,T}). This way the set_params function from dvb-pll is used. dvb_attach() is in turn used on dvb_pll_attach(), eliminating some static dependencies on dvb-pll. There are still a couple static dependencies on dvb-pll remaining. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-11-20Handle errors from input_register_device()Mauro Carvalho Chehab
From: Dmitry Torokhov <dtor@insightbb.com> Also sprinkled some input_sync() throughout the code. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Ricardo Cerqueira <v4l@cerqueira.org> Acked-by: Oliver Endriss <o.endriss@gmx.de> Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-19create new lgh06xf atsc tuner moduleMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch creates a new atsc tuner module for the LG TDVS-H06xF ATSC tuners, called lgh06xf. The purpose of this change is to reduce some duplicated code, and to allow the lgh06xf tuner code to take advantage of dvb_attach(). As a side effect, the dependency of dvb-bt8xx on dvb-pll has been removed, since the lgh06xf module itself will use dvb-pll, while remaining optional for the dvb-bt8xx driver through the use of DVB_FE_CUSTOMISE Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-11-18Add support ptv-305Mauro Carvalho Chehab
From: Jelle Foks <jelle@foks.8m.com> Add subvendor/device of the ADSTech Instant TV Deluxe PTV-305 to the card list as card=45 (KWORLD_HARDWARE_MPEG_TV_XPERT). Signed-off-by: Jelle Foks <jelle@foks.8m.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-18Fix cx88-blackbird null pointerMauro Carvalho Chehab
From: Jelle Foks <jelle@foks.8m.com> Allows 'debug=1' for cx88-blackbird module (dev needs to be valid for dprintk). Fixes a null-pointer dereference when using debug=1. Signed-off-by: Jelle Foks <jelle@foks.8m.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-05cx88-dvb: whitespace cleanupMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> whitespace cleanup to match git commit 76dc82ab57236105285fd8520895c1404b8b952f kernel-sync Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-11-03cx88: fix remote control on WinFast 2000XP ExpertMichael Krufky
From: Hermann Pitton <hermann-pitton@arcor.de> fix remote control on WinFast 2000XP Expert by setting timing back to 1 ms, like it was in the original patch by Robert Reid. Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.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>