summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx/cx231xx-cards.c
Commit message (Collapse)AuthorAgeFilesLines
* [media] cx231xx: Add support for Hauppauge WinTV USB2-FMPeter Moon2011-07-271-0/+74
| | | | | | | | | This patch adds support for the "Hauppauge WinTV USB2-FM" Analog TV Stick. It includes support for both the PAL and NTSC variants of the device. Signed-off-by: Peter Moon <pomoon@gmail.com> Reviewed-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Add support for Iconbit U100Igor Novgorodov2011-05-201-0/+27
| | | | | | | | This patch adds support for the "Iconbit Analog Stick U100 FM". Only composite & s-video inputs, no tuner support now. Signed-off-by: Igor Novgorodov <igor@novg.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: add support for KworldMárcio Alves2011-05-201-0/+40
| | | | | | | [mchehab@redhat.com: avoided board renumberation, removed an unused #define and re-used the existing mb86a20s dvb attach code] Signed-off-by: Márcio A Alves <froooozen@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] video/cx231xx: Fix sparse warning: Using plain integer as NULL pointerPeter Huewe2011-03-211-8/+8
| | | | | | | | | This patch fixes the warning "Using plain integer as NULL pointer", generated by sparse, by replacing the offending 0s with NULL. Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Reviewed-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Add support for PV Xcapture USBMauro Carvalho Chehab2011-03-211-0/+31
| | | | | | | | | | Adds support for Pixelviex Xcapture USB grabber device. This device has one composite and one s-video entry only, plus a button. For now, the button is not supported. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Use parameters to describe some board variantsMauro Carvalho Chehab2011-03-211-1/+6
| | | | | | | | | | | | | | | Instead of per-model tests all over the code, use some parameters at the board entries to describe the model variants for: - devices with 417 MPEG encoder; - devices that use external AV; - devices where vbi VANC endpoint doesn't work; - devices with xc5000 that require different IF initialization (and probably will cover also xc3028). - devices with xceive tuner that require a reset during init. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Simplify interface checking logic at probeMauro Carvalho Chehab2011-03-211-96/+96
| | | | | | | | Just a cleanup patch. Removes one indent level by moving the return -ENODEV to happen before the device register logic, if the interface is not the audio/video (int 1). Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds2011-01-071-0/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits) usb: don't use flush_scheduled_work() speedtch: don't abuse struct delayed_work media/video: don't use flush_scheduled_work() media/video: explicitly flush request_module work ioc4: use static work_struct for ioc4_load_modules() init: don't call flush_scheduled_work() from do_initcalls() s390: don't use flush_scheduled_work() rtc: don't use flush_scheduled_work() mmc: update workqueue usages mfd: update workqueue usages dvb: don't use flush_scheduled_work() leds-wm8350: don't use flush_scheduled_work() mISDN: don't use flush_scheduled_work() macintosh/ams: don't use flush_scheduled_work() vmwgfx: don't use flush_scheduled_work() tpm: don't use flush_scheduled_work() sonypi: don't use flush_scheduled_work() hvsi: don't use flush_scheduled_work() xen: don't use flush_scheduled_work() gdrom: don't use flush_scheduled_work() ... Fixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c as per Tejun.
| * media/video: explicitly flush request_module workTejun Heo2010-12-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Video drivers request submodules using a work during probe and calls flush_scheduled_work() on exit to make sure the work is complete before being unloaded. This patch makes these drivers flush the work directly instead of using flush_scheduled_work(). While at it, relocate request_submodules() call in saa7134_initdev() right right before successful return as in other drivers to avoid failing after the work is scheduled and returning failure without the work still active. This is in preparation for the deprecation of flush_scheduled_work(). Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
* | [media] cx231xx: Fix IR keymap for Pixelview SBTVD HybridMauro Carvalho Chehab2010-12-291-1/+1
| | | | | | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] cx231xx: stray unlock on error pathDan Carpenter2010-12-291-5/+1
| | | | | | | | | | | | | | | | The lock isn't held here and doesn't need to be unlocked. The code has been like this since the driver was merged. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] cx231xx: Properly name rc_map nameMauro Carvalho Chehab2010-12-291-1/+1
| | | | | | | | | | | | | | rc_map is confusing, as it may be understood as another thing. Properly rename the field to indicate its usage. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] cx231xx: Add IR support for Pixelview Hybrid SBTVDMauro Carvalho Chehab2010-12-291-0/+2
| | | | | | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] cx231xx: Add a driver for I2C-based IRMauro Carvalho Chehab2010-12-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | Although cx231xx has a very good IR support, already supported by mceusb driver, some designs decided to add a separate I2C microcontroller chip in order to handle IR. Due to that, add a glue to ir-kbd-i2c is needed, in order to support those devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] cx231xx: use callback to set agc on PixelViewMauro Carvalho Chehab2010-12-291-0/+11
| | | | | | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] add digital support for PV SBTVD hybridMauro Carvalho Chehab2010-12-291-1/+1
| | | | | | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] Add analog support for Pixelvied Hybrid SBTVDMauro Carvalho Chehab2010-12-291-2/+39
| | | | | | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] v4l: Remove module_name argument to the v4l2_i2c_new_subdev* functionsLaurent Pinchart2010-11-221-2/+2
|/ | | | | | | The argument isn't used anymore by the functions, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] v4l: Remove hardcoded module names passed to v4l2_i2c_new_subdev*Laurent Pinchart2010-10-221-2/+2
| | | | | | | | | | | | | With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, replace the hardcoded module name passed to those functions by NULL. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the drivers modified here use. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Remove IR support from the driverMauro Carvalho Chehab2010-10-211-11/+0
| | | | | | | | | Polaris design uses MCE support. Instead of reinventing the wheel, just let mceusb handle the remote controller. Acked-by: Jarod Wilson <jarod@redhat.com> Acked-by: Sri Devi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Only register USB interface 1Mauro Carvalho Chehab2010-10-211-30/+8
| | | | | | | | | | | Interface 0 is used by IR. The current driver starts initializing on it, finishing on interface 6. Change the logic to only handle interface 1. This allows another driver (mceusb) to take care of the IR interface. Reviewed-by: Jarod Wilson <jarod@redhat.com> Acked-by: Sri Devi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Only change gpio direction when neededMauro Carvalho Chehab2010-10-211-2/+3
| | | | | Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: properly use the right tuner i2c addressMauro Carvalho Chehab2010-10-211-1/+1
| | | | | | | | | | | The driver has a field to indicate what bus is used by tuner and by demod. However, this field were never used. On Pixelview, it uses I2C 2 for tuner, instead of I2C 1. drivers/media/video/cx231xx/cx231xx-cards.c Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: remove i2c ir stubsDevin Heitmueller2010-10-211-32/+0
| | | | | | | | | | | Nobody is ever going to implement an i2c based IR controller on a bridge that has an onboard universal IR receiver. This stuff was all copied from em28xx, which has old enough versions of the chip that some didn't have onboard IR. Remove the stubs related to i2c based IR (keeping the cx231xx-input code). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: move printk() line related to 417 initializationDevin Heitmueller2010-10-211-1/+1
| | | | | | | | Move a printk() message which refers to enabling the cx23417 so that it only shows up on a board that has the cx23417. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: fixup video grabber board profileDevin Heitmueller2010-10-211-16/+1
| | | | | | | | The video grabber reference design (Veyron) does not have a tuner input, so do not have it defined in the board profile. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: make output mode configurable via the board profileDevin Heitmueller2010-10-211-0/+9
| | | | | | | | | Extend the board profile structure to allow configuration of the output mode. Right now they are all doing VIP 1.1 format, but we have a board that needs ITU656 format (which hasn't been checked in yet). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Add initial support for Hauppauge USB-Live2Devin Heitmueller2010-10-211-6/+27
| | | | | | | | | | Add initial support for the Hauppauge USBLive 2 (2040:c200). Note that I had to copy a bunch of the case statements used for the Conexant video grabber reference design (which also doesn't have a tuner). This will likely need to be refactored out into the board profile. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: make video scaler work properlyDevin Heitmueller2010-10-211-2/+0
| | | | | | | | | | | | | | | | | Move the responsibility for setting up the horizontal and vertical scalers entirely to the cx25840 driver. The cx231xx-avcore was actually programming garbage into the HSCALE_CTRL and VSCALE_CTRL registers (because of differences in how the em28xx driver worked, which the cx231xx driver was derived from). The net effect is that the scaler now works properly (tested with both PAL and NTSC under mplayer and tvtime). This patch also gets rid of cx25840 errors showing up in dmesg which say "720x480 is not a valid size" (since we now properly setup the size of the active video area). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: remove board specific initializationDevin Heitmueller2010-10-211-34/+9
| | | | | | | | | | There is no need for a switch statement here. Use the contents of the board profile to dictate the tuner driver and i2c address. Eventually if a board ever comes around which has a different i2c bus than #1, well that should be a field in the board profile as well. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: add USB ID Hauppauge model 111301Devin Heitmueller2010-10-211-0/+2
| | | | | | | Add a USB ID for model 111301. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: add support for Hauppauge EXETERMichael Krufky2010-10-211-2/+45
| | | | | | | | | | Add support for various Hauppauge EXETER designs. Note by DJH: fixed a few minor 'make checkpatch' warnings before commit. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Added support for Carraera, Shelby, RDx_253S and VIDEO_GRABBERPalash Bandyopadhyay2010-10-211-24/+304
| | | | | | | | | | Added support for new cx231xx boards - Carraera, Shelby, RDx_253S and VIDEO_GRABBER. [mchehab@redhat.com: Fix a merge conflict with BKL removal patches] Signed-off-by: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com> Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: cx231xx: Avoid an OOPS when card is unknown (card=0)Mauro Carvalho Chehab2010-09-271-6/+8
| | | | | | | | | | | | | | | | | As reported by: Carlos Americo Domiciano <c_domiciano@yahoo.com.br>: [ 220.033500] cx231xx v4l2 driver loaded. [ 220.033571] cx231xx #0: New device Conexant Corporation Polaris AV Capturb @ 480 Mbps (1554:5010) with 6 interfaces [ 220.033577] cx231xx #0: registering interface 0 [ 220.033591] cx231xx #0: registering interface 1 [ 220.033654] cx231xx #0: registering interface 6 [ 220.033910] cx231xx #0: Identified as Unknown CX231xx video grabber (card=0) [ 220.033946] BUG: unable to handle kernel NULL pointer dereference at (null) [ 220.033955] IP: [<ffffffffa0d3c8bd>] cx231xx_pre_card_setup+0x5d/0xb0 [cx231xx] Thanks-to: Carlos Americo Domiciano <c_domiciano@yahoo.com.br> Cc: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: Don't identify PV SBTVD Hybrid as a DibCom deviceMauro Carvalho Chehab2010-09-271-0/+3
| | | | | | | | | | | | | | | | | | As reported by Carlos, Prolink Pixelview SBTVD Hybrid is based on Conexant cx231xx + Fujitsu 86A20S demodulator. However, both shares the same USB ID. So, we need to use USB bcdDevice, in order to properly discover what's the board. We know for sure that bcd 0x100 is used for a dib0700 device, while bcd 0x4001 is used for a cx23102 device. This patch reserves two ranges, the first one from 0x0000-0x3f00 for dib0700, and the second from 0x4000-0x4fff for cx231xx devices. This may need fixes in the future, as we get access to other devices. Thanks-to: Carlos Americo Domiciano <c_domiciano@yahoo.com.br> Cc: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* include cleanup: Update gfp.h and slab.h includes to prepare for breaking ↵Tejun Heo2010-03-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
* V4L/DVB (13687): cx231xx: use NULL when pointer is neededMárton Németh2009-12-161-9/+9
| | | | | | | | | | | | | | | | | The gpio field in the cx231xx_board.input structure is a pointer. Eliminate the following sparse warnings (see "make C=1"): * cx231xx-cards.c:72:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:77:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:84:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:111:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:116:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:123:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:151:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:156:13: warning: Using plain integer as NULL pointer * cx231xx-cards.c:163:13: warning: Using plain integer as NULL pointer Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13550): v4l: Use the new video_device_node_name functionLaurent Pinchart2009-12-161-2/+3
| | | | | | | | | | Fix all device drivers to use the new video_device_node_name function. This also strips kernel log messages from the "/dev/" prefix, has the device node location is a userspace policy decision unknown to the kernel. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12540): v4l: simplify v4l2_i2c_new_subdev and friendsHans Verkuil2009-09-191-2/+2
| | | | | | | | | | Rewrite v4l2_i2c_new_subdev as a simplified version of v4l2_i2c_new_subdev_cfg and remove v4l2_i2c_new_probed_subdev and v4l2_i2c_new_probed_subdev_addr. This simplifies this API substantially. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11845): ir-kbd-i2c: Use initialization dataJean Delvare2009-06-161-3/+0
| | | | | | | | | For specific boards, pass initialization data to ir-kbd-i2c instead of modifying the settings after the device is initialized. This is more efficient and easier to read. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11844): ir-kbd-i2c: Switch to the new-style device binding modelJean Delvare2009-06-161-4/+7
| | | | | | | | | | | | | | | | | | | Let card drivers probe for IR receiver devices and instantiate them if found. Ultimately it would be better if we could stop probing completely, but I suspect this won't be possible for all card types. There's certainly room for cleanups. For example, some drivers are sharing I2C adapter IDs, so they also had to share the list of I2C addresses being probed for an IR receiver. Now that each driver explicitly says which addresses should be probed, maybe some addresses can be dropped from some drivers. Also, the special cases in saa7134-i2c should probably be handled on a per-board basis. This would be more efficient and less risky than always probing extra addresses on all boards. I'll give it a try later. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11380): v4l2-subdev: change s_routing prototypeHans Verkuil2009-04-061-4/+1
| | | | | | | | | It is no longer needed to use a struct pointer as argument, since v4l2_subdev doesn't require that ioctl-like approach anymore. Instead just pass the input, output and config (new!) arguments directly. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11373): v4l2-common: add explicit v4l2_device pointer as first arg ↵Hans Verkuil2009-04-061-4/+4
| | | | | | | | | | | | to new_(probed)_subdev The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on i2c_get_adapdata to return the v4l2_device. However, this is not always possible on embedded platforms. So modify the API to pass the v4l2_device pointer explicitly. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11369): v4l2-subdev: add load_fw and use that instead of abusing ↵Hans Verkuil2009-04-061-1/+1
| | | | | | | | | | core->init. The init callback was used in several places to load firmware. Make a separate load_fw callback for that. This makes the code a lot more understandable. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11353): cx231xx: remove explicitly set v4l2_device.nameJanne Grunau2009-04-061-2/+0
| | | | | Signed-off-by: Janne Grunau <j@jannau.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11352): cx231xx: use usb_interface.dev for v4l2_device_registerJanne Grunau2009-04-061-1/+1
| | | | | Signed-off-by: Janne Grunau <j@jannau.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11134): cx231xx: dmesg cleanupMauro Carvalho Chehab2009-04-061-19/+1
| | | | | | | Remove some printk's that were needed only during development phase. Also, cleans the printed messages to produce a nicer result. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11132): cx231xx: usb probe cleanupsMauro Carvalho Chehab2009-04-061-223/+189
| | | | | | | | Simplifies the usb probe logic, cleaning the printed messages during the probing phase. Cc: Srinivasa Deevi <srinivasa.deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11131): cx231xx: avoid trying to access unfilled dev structMauro Carvalho Chehab2009-04-061-1/+1
| | | | | | | cx231xxinfo needs dev->name. However, this is not declared on the time the check for the max number of supported devices is done. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (11128): cx231xx: convert the calls to subdev formatSri Deevi2009-04-061-16/+45
| | | | | | | | | | | | This patch converts cx231xx to the new v4l2 dev/subdev, doing: - Conversion of i2c calls to subdev calls; - all subdev calls to call_all(); - Corrected the header file order in cx231xx.h; - Added tuner frequency setting. Signed-off-by: Srinivasa Deevi <srinivasa.deevi@conexant.com> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
OpenPOWER on IntegriCloud