summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88/cx88-i2c.c
AgeCommit message (Collapse)Author
2008-09-22cx88: Enable TDA9887 on HVR1300 / 3000 / 4000Steven Toth
From: Steven Toth <stoth@linuxtv.org> Patch provided by Darron Broad. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
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-07-08v4l-dvb: remove support for kernels < 2.6.10Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 2 removes support for kernels < 2.6.10. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.0Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> First phase of the backwards compatibility cleanup: stop supporting kernels older than 2.6.0. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-04-29cx88: Fix a warningMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> drivers/media/video/cx88/cx88-i2c.c: In function 'attach_inform': drivers/media/video/cx88/cx88-i2c.c:102: warning: unused variable 'tun_setup' Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-26cx88: fix tuner setupMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Tuner setup were happening during i2c attach callback. This means that it would happen on two conditions: 1) if tuner module weren't load, it will happen at request_module("tuner"); 2) if tuner is not compiled as a module, or it is already loaded (for example, on setups with more than one tuner), it will happen when cx88 registes I2C bus. Due to that, if tuner were loaded, tuner setup will happen _before_ reading the proper values at tuner eeprom. Since set_addr refuses to change for a tuner that were previously defined (except if the tuner_addr is set), this were making eeprom tuner detection useless. This patch removes tuner type setup from tuner-i2c, moving it to the proper place, after taking eeprom into account. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
2008-01-05New card supported(partially): Pinnacle 800iSteven Toth
From: Steven Toth <stoth@hauppauge.com> From Zhang: This patch continues the support for the Pinnacle HD 800i. Signed-off-by: Chaogui Zhang <czhang1974@gmail.com> Patch committed as-is, cleanups to follow ... Steve Signed-off-by: Steven Toth <stoth@hauppauge.com>
2007-10-18Replace TDA9887_SET_CONFIG by TUNER_SET_CONFIGMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Currently, the only tuner-specific device that allows special configurations is tda9887. However, tea5767 also may require some special configurations (for example, to specify a different Xtal freq). This patch replaces TDA9887_SET_CONFIG by a more generic internal ioctl (TUNER_SET_CONFIG). The newer one allows specifying what tuner is appliable to a configuration set, and allows an arbitrary configuration struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-04videobuf: Remove references to old Kconfig option nameTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> CONFIG_VIDEO_BUF_DVB became CONFIG_VIDEOBUF_DVB. But in these cases, it makes more sense to use CONFIG_VIDEO_SAA7134_DVB or CONFIG_VIDEO_CX88_DVB_MODULE depending on the driver. The reference in cx23885.h should just be removed, as the code there needs to be included if DVB is on or off. I do not think you can even compile the cx23885 driver without DVB. It's clearly just leftover from when the file was obvious copied from the cx88 driver (which is not mentioned in the copyright BTW). Signed-off-by: Trent Piepho <xyzzy@speakeasy.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-08-15cx88: Copy board information into card stateTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The cx88 driver state stored the ID of the board type in core->board. Every time the driver need to get some information about the board configuration, it uses the board number as an index into board configuration array. This patch changes it so that the board number is in core->boardnr, and core->board is a copy of the board configuration information. This allows access to board information without the extra indirection. e.g. cx88_boards[core->board].mpeg becomes core->board.mpeg. This has a number of advantages: - The code is simpler to write. - It compiles to be smaller and faster, without needing the extra array lookup to get at the board information. - The cx88_boards array no longer needs to be exported to all cx88 modules. - The boards array can be made const - It should be possible to avoid keeping the (large) cx88_boards array around after the module is loaded. - If module parameters or eeprom info override some board configuration setting, it's not necessary to modify the boards array, which would affect all boards of the same type. Signed-off-by: Trent Piepho <xyzzy@speakeasy.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-07-01cx88: i2c structure templates clean-upMichael Krufky
From: Jean Delvare <khali@linux-fr.org> Clean up the use of structure templates in cx88-i2c and cx88-vp3054-i2c. For one thing, a real template is supposed to be read-only. And in some cases it's more efficient to initialize the few fields we need individually. This clean-up shrinks cx88-i2c.o by 33% and cx88-vp3054-i2c.o by 49% (x86_64). Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-03-29Use ARRAY_SIZE instead of a magic numberMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.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>
2006-10-04i2c-algo-bit: Discard the mdelay data struct memberMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Apply the rellevant parts from i2c-algo-bit: Discard the mdelay data struct member, from Jean Delvare <khali@linux-fr.org>, that applies to V4L/DVB tree. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-27Dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support. Steven Toth
From: Steven Toth <stoth@hauppauge.com> A series of patches to change the cx88 framework to allow the PCI mpeg port to be shared dynamically between different types of drivers or applications. This patch changes the cx88-dvb and cx88-blackbird drivers to become 'sub drivers' of a higher single cx88-mpeg driver. The cx88-mpeg driver is a superset of the previous cx88-mpeg/blackbird drivers and now owns the IRQ. cx88-dvb/blackbird now become mini drivers, registering themselves with cx88-mpeg through a standard interface with callbacks. Sub drivers request access to hardware via the cx88-mpeg driver. In turn the cx88-mpeg driver determines whether the hardware is busy and accepts or refuses the request, grant access using callbacks into the sub drivers. The net effect is that you are no longer able to tamper with the mpeg port from multiple different applications at the same time, potentially breaking a live mpeg2 hardware encoding or dvb stream. The mechanism extends to enable multiple dvb frontends to be registered and share the single resource. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-09-25cx88: rename mpeg capability flags from CX88_BOARD_FOO to CX88_MPEG_FOOMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The flags for mpeg capabilities are sub-optimally named as CX88_BOARD_DVB and CX88_BOARD_BLACKBIRD, which creates some confusion. This patch renames the above to CX88_MPEG_DVB and CX88_MPEG_BLACKBIRD. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> CC: Steven Toth <stoth@hauppauge.com> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-09-25Changed cx88_board .dvb and .register to an enum.Steven Toth
From: Steven Toth <stoth@hauppauge.com> Some basic cleanup in preperation for a future patch where the cx88-mpeg functions have to deal with the port being used by multiple frontends in (mpeg2 hw encoder and dvb demod). Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-09-06Improved i2c performance on software bitbang algoritmMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Software I2C were using a very conservative value of udelay=16, meaning about 20Kbps. According with Philips I2C datasheet, the i2c should answer well for times at the order of 4.7 us. So, using udelay=5 should work for all devices. After this patch, the speed should be close to 66,67 Kbps, with the current kernel software bitbang, with 30/60 duty cycle. Anyway, added a new parameter (i2c_udelay) that would allow using conservative values, if eventually a hardware doesn't support the datasheet values. Thanks to Jean Delvare <khali@linux-fr.org> for pointing this improvement. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-02Partially reverting last patchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Last patch did included two experimental stuff there, on cx88 and on pvrusb2. Reverting... Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-02Fixes some troubles on saa7115Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Scaling were not working fine; Some reserved registers were wrong; On some situations, saa7115 were not properly being initializated. Removed some duplicated code. Thanks-to: Hans Verkuil <hverkuil@xs4all.nl> for co-working on this patch. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-01For contributers, it seems to be better to describe what changedMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-21Added missing copyrightMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Several changes at register stuff were done since commit b45009b0288a96a3458f4f8e93cb776678d41875, but I've forgot to add the copyright line for this. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-24cx88: cleanupsMichael Krufky
From: Adrian Bunk <bunk@stusta.de> remove the following unused hooks: - cx88-blackbird.c: cx88_ioctl_hook() - cx88-blackbird.c: cx88_ioctl_translator() make the following needlessly global functions static: - cx88-tvaudio.c: cx88_detect_nicam() remove the following unused EXPORT_SYMBOL's: - cx88-cards.c: cx88_bcount - cx88-cards.c: cx88_subids - cx88-cards.c: cx88_idcount - cx88-cards.c: cx88_card_list - cx88-cards.c: cx88_card_setup - cx88-core.c: cx88_start_audio_dma - cx88-core.c: cx88_stop_audio_dma - cx88-i2c.c: cx88_i2c_init Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-05-14Change dvb_frontend_ops to be a real field instead of a pointer field inside ↵Patrick Boettcher
dvb_frontend From: Patrick Boettcher <pb@linuxtv.org> The dvb_frontend_ops is a pointer inside dvb_frontend. That's why every demod-driver is having a field of dvb_frontend_ops in its private-state-struct and using the reference for filling the pointer-field in dvb_frontend. - It saves at least two lines of code per demod-driver, - reduces object size (one less dereference per frontend_ops-access), - be coherent with dvb_tuner_ops, - makes it a little bit easier for newbies to understand how it works and - avoids stupid mistakes because you would have to copy the dvb_frontend_ops always, before you could assign the static pointer directly, which was dangerous. Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2006-05-03fix build for older gcc's that dont support compiler macros in a function callMichael Krufky
From: Julian Scheel <julian@jusst.de> This patch fixes the build when using older gcc-versions which do not support compiler-macros in a function-call. Signed-off-by: Julian Scheel <julian@jusst.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.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-01-07Some cleanups at I2C modulesMauro Carvalho Chehab
- Latest patch reverted, since __stringfy seems to be needed for kernel < 2.6.15 - Applied kernel I2C cleanups from Jean Delaware. - driver names simplified to allow usage of newer printk macros at v4l2-common.h Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-01ioctls cleanups.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@brturbo.com.br> - Now, all internal ioctls are at v4l2-common.h - removed unused ioctl at saa6752hs.h - all debug ioctl code moved to v4l2-common.c - removed duplicated stuff from other cards Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-12-25replace <media/i2c-compat.h> with "i2c-compat.h"Michael Krufky
-#include <media/i2c-compat.h> +#include "i2c-compat.h" Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-12-02fixed v4l-only build. (Build v4l modules without dvb support)Michael Krufky
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-12-02Cleanup check for dvb.Michael Krufky
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-12-02Adding support for the Hauppauge HVR1100 and HVR1100-LP products.Michael Krufky
From: Steven Toth <stoth@hauppauge.com> - Add support for the Hauppauge HVR1100 and HVR1100-LP products. - Add i2c_gate_ctrl callback function to dvb_frontend_ops struct. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-10-16- Whitespace Cleanups.Mauro Carvalho Chehab
- Whitespace script improved. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-10-09From: Mauro Carvalho Chehab <mchehab@brturbo.com.br>Mauro Carvalho Chehab
- Lots of small changes to allow compiling with kernel 2.4. Compilation result not tested yet. - After this patch, .version should be removed, since its syntax has changed. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-09-13 * bt832.c: (bt832_probe):Michael Krufky
* bttv-i2c.c: (attach_inform): * cx88-i2c.c: (attach_inform), (detach_inform): * id.h: * ir-kbd-i2c.c: (ir_probe): * msp3400.c: (msp34xx_sleep), (msp_attach): * saa6588.c: * saa6752hs.c: * saa7134-i2c.c: (attach_inform): * saa7134-tvaudio.c: (tvaudio_sleep): * tda7432.c: (tda7432_probe): * tda9875.c: (tda9875_probe): * tda9887.c: (tda9887_probe): * tuner-core.c: * tveeprom.c: (tveeprom_attach_adapter): * tvmixer.c: (tvmixer_ioctl), (tvmixer_clients), (tvmixer_cleanup_module): * video-buf.c: (videobuf_dma_free): - Step two, in preparation for 2.6.14-rcX compatability: - Compile tested against vanila kernels 2.6.13 & 2.6.8 - 2.6.14 compile still broken... Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-07-25Rename lgdt3302 to lgdt330x.Michael Krufky
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-07-15 - linux/version.h removed at linux-2.6.13-rc3-mm1.Mauro Carvalho Chehab
- Removed remaining trailing spaces. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-07-05 Rename tuner structures fields. Move MD detection hack toNickolay V. Shmyrev
saa7134-cards.c
2005-07-03 * bttv-i2c.c, cx88-i2c.c, saa7134-i2c.c:Mauro Carvalho Chehab
- I2C cleanups. Now, all drivers uses the same basic structure. * cx88-video.c: - Duplicated code commented. Should be removed soon. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-07-02 * bttv-cards.c, bttv-i2c.c, cx88-i2c.c, cx88-video.c:Nickolay V. Shmyrev
* saa7134-cards.c, saa7134-core.c, saa7134-i2c.c: * tuner-core.c, tuner.h: Rename v4l2_tuner field in tun_addr structure. Cleanup tuner private calls.
2005-06-28 * cx88-i2c.c, cx88-video.c, saa7134-i2c.c, tuner-core.c, tuner.h:Mauro Carvalho Chehab
- Improved support for multi tuners on multi boards. *tuner-core.c: - Pal M and PAL N added to tuner_fixup_std * tuner-simple.c: - Eliminated old tea code from tuner-simple. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-06-17 * Makefile, cx88-cards.c, cx88-dvb.c, cx88-i2c.c, cx88-mpeg.c, dvb-pll.c, ↵Michael Krufky
dvb-pll.h, lgdt3302.c, lgdt3302.h, lgdt3302_priv.h - added support for LGDT3302 demod for cx88 cards: DViCO FusionHDTV 3 Gold Signed-off-by: Mac Michaels <wmichaels1@earthlink.net> Signed-off-by: Michael Krufky <mkrufky@m1k.net> * Make.config - Allow DVB to compile if kernel is later than 2.6.10
2005-06-12 * audiochip.h, compat.h, cx22702.h, cx88-core.c, cx88-dvb.c,Mauro Carvalho Chehab
cx88-i2c.c, cx88-vbi.c, cx88-video.c, dpl3518.c, dpl3518.h, i2c-compat.h, id.h, msp3400.h, or51132.c, or51132.h, plx9054.h, rds-saa6588.c, saa7134-dvb.c, tda7432.c, tda9875.c, tvaudio.c, tveeprom.h, tvmixer.c, v4l1-compat.c, video-buf-dvb.h: - Minor changes to synchronize with -mm series; - PAL-60 code maintained for SAA7134. However, -mm has different values; - Now, every .c or .h file has cvs field ID.
2005-06-12 * tuner-core.c:Mauro Carvalho Chehab
- Solved a problem when compiling with some versions of gcc - Solved a problem compiling without CONFIG_TUNER_MULTI_I2C - cx88-i2c.c, saa7134-i2c.c: - Make it compatible with kernel 2.6.12-rc6-mm1
2005-06-08Lots of change to provide an elegant way to select radio I2C address.Mauro Carvalho Chehab
It should be better tested and expanded to other *-cards.c. * cx88-cards.c, cx88-core.c, cx88-i2c.c, cx88-video.c, cx88.h, tea5767.c, tuner-core.c, tuner-simple.c, tuner.h: - Improved radio tuner support. - There is a new option to cx88 radio=xxx,xxx,xxx for radio adapters; - cx88-boards now specifies radio_type, tuner_addr and radio_addr - ADDR_UNSET macro means find default radio/video tuner
2005-02-15- merge some patches from mainline.Gerd Knorr
- tuner kernel message fixups. - misc.
2004-12-10- add moduleparam.h include to many files.Gerd Knorr
- some pinnacle 300i progress (can talk to mt352 now, not working yet through). - misc minor stuff.