Chris Pascoe [Mon, 19 Nov 2007 07:53:50 +0000 (04:53 -0300)]
V4L/DVB (6637): xc2028: add missing break
Add break to stop us from following the default failure path even upon success.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 07:45:38 +0000 (04:45 -0300)]
V4L/DVB (6636): xc2028: protect device list
Protect refcount changes and modifications to xc2028_list with a mutex.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 07:38:53 +0000 (04:38 -0300)]
V4L/DVB (6635): xc2028: v4l2_std_id needs to be long long to display completely
Cast v4l2_std_id variables to unsigned long long so they will printk properly.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 07:34:29 +0000 (04:34 -0300)]
V4L/DVB (6634): xc2028: error messages missing whitespace
Fix some missing spaces in errors that may be emitted during attach failure.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 07:31:58 +0000 (04:31 -0300)]
V4L/DVB (6633): xc2028: make register reads atomic
Issuing register reads as a separate address write and data read transactions
means that other I2C activity could occur in between and state could get out
of sync. Issue both the write and read in a single transaction so that the
i2c layer can prevent other users accessing the bus until we are complete.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 07:16:47 +0000 (04:16 -0300)]
V4L/DVB (6632): xc2028: fix inverted logic in audio standard check
strcasecmp returns 0 on match, not true.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 07:14:23 +0000 (04:14 -0300)]
V4L/DVB (6631): xc2028: eliminate i2c macro side-effects
The I2C macros have side effects and send_seq could cause a return from
a function with a mutex held. Change them to behave like real functions.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 06:55:45 +0000 (03:55 -0300)]
V4L/DVB (6630): zl10353: calculate input frequency register instead of using hardcoded value
Now we know the zl10353's correct ADC clock, we can calculate the input
frequency registers correctly instead of just blindly setting them.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 06:32:06 +0000 (03:32 -0300)]
V4L/DVB (6628): zl10353: Improve support for boards without a tuner on secondary i2c
Issue FSM_GO instead of TUNER_GO if there is no tuner attached to the
secondary i2c bus.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 06:05:09 +0000 (03:05 -0300)]
V4L/DVB (6627): CXUSB: handle write then read from different address
The path to perform a read immediately after a write was not checking that
the address being read from was the same as the one that was written.
Handling this case correctly should mean that we now can handle more than
two i2c messages at a time.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 06:01:22 +0000 (03:01 -0300)]
V4L/DVB (6626): CXUSB: support only-read i2c requests
Any i2c read request that was not immediately preceded by a write request was
incorrectly taking the write path. Add the capability to handle individual
read requests.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 05:48:27 +0000 (02:48 -0300)]
V4L/DVB (6625): CXUSB: i2c transfer failure notification
The i2c master_xfer routine should return a negative result if not all
transfers completed successfully.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Mon, 19 Nov 2007 05:42:44 +0000 (02:42 -0300)]
V4L/DVB (6624): CXUSB: return control message transfer result to caller
Callers to cxusb_ctrl_msg currently do not receive any indication that their
transfer failed. Return the true return code from dvb_usb_generic_{rw,write}.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Wed, 21 Nov 2007 22:55:52 +0000 (19:55 -0300)]
V4L/DVB (6623): remove saa7134-oss
The saa7134-oss is deprecated for quite some time, it's the only remaining OSS
user outside of sound/oss/, and considering how few and what kind of
soundcards are left supported by OSS I hardly see any use cases left.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Thu, 22 Nov 2007 17:40:25 +0000 (14:40 -0300)]
V4L/DVB (6622): tda827x: prevent possible NULL pointer dereference in tda827xa_lna_gain
If tda827x_config hasn't been defined, exit the function.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Sun, 18 Nov 2007 17:15:42 +0000 (14:15 -0300)]
V4L/DVB (6621): tda827x: fix NULL pointer dereference during tda827x_probe_version
Fix the following oops:
[ 750.807586] CPU: 1
[ 750.807587] EIP: 0060:[<
f9dde2a3>] Tainted: P VLI
[ 750.807589] EFLAGS:
00010296 (2.6.22-14-generic #1)
[ 750.807599] EIP is at tda827x_probe_version+0xc3/0x130 [tda827x]
[ 750.807603] eax:
00000000 ebx:
f5a45a00 ecx:
00000000 edx:
00000001
[ 750.807607] esi:
f9de05ac edi:
e9b897e0 ebp:
ed8015ac esp:
ed735f58
[ 750.807611] ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
[ 750.807615] Process kdvb-fe-1 (pid: 10662, ti=
ed734000 task=
d3b76530 task.ti=
ed734000)
[ 750.807618] Stack:
f9e23972 00000038 ed735fd0 00010060 41ae0001 ed735f73 88b89608 e9b89608
[ 750.807629]
e9b89608 ed801400 f9dde338 e9b89608 f9b2a46b 000000ae 00000a18 d3b76640
[ 750.807639]
fffffffc f9b2bad6 00000003 f4433e68 e962b8c0 f4433e64 00000292 ed735fd0
[ 750.807649] Call Trace:
[ 750.807653] [<
f9e23972>] tda10046_init+0x2d2/0x6c0 [tda1004x]
[ 750.807700] [<
f9dde338>] tda827x_initial_init+0x8/0x20 [tda827x]
[ 750.807713] [<
f9b2a46b>] dvb_frontend_init+0x2b/0x60 [dvb_core]
[ 750.807745] [<
f9b2bad6>] dvb_frontend_thread+0x66/0x2f0 [dvb_core]
[ 750.807780] [complete+64/96] complete+0x40/0x60
[ 750.807805] [<
f9b2ba70>] dvb_frontend_thread+0x0/0x2f0 [dvb_core]
[ 750.807822] [kthread+66/112] kthread+0x42/0x70
[ 750.807828] [kthread+0/112] kthread+0x0/0x70
[ 750.807841] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
[ 750.807869] =======================
[ 750.807872] Code: 8b 74 24 20 8b 7c 24 24 83 c4 28 c3 8b 0d 00 0c de f9 85 c9 75 42 be e0 04 de f9 81 c7 0c 01 00 00 b9 33 00 00 00 f3 a5 8b 43 08 <c7> 40 14 50 e3 dd f9 8b 5c 24 1c 31 c0 8b 74 24 20 8b 7c 24 24
[ 750.807925] EIP: [<
f9dde2a3>] tda827x_probe_version+0xc3/0x130 [tda827x] SS:ESP 0068:
ed735f58
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Thu, 22 Nov 2007 17:15:34 +0000 (14:15 -0300)]
V4L/DVB (6620): kconfig: VIDEO_SAA7134 must select VIDEO_TVEEPROM
The ability to read Hauppauge eeprom's was recently added to saa7134,
so we must build the tveeprom module.
Thanks to Matthias Schwarzott for pointing this out.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Aidan Thornton [Tue, 20 Nov 2007 18:25:08 +0000 (15:25 -0300)]
V4L/DVB (6619): Use MTS firmware for the HVR-900
The HVR-900 requires the MTS version of the xc3028 firmware in order
to get any sound. The below patch selects this firmware variant on
HVR-900 cards, as well as splitting the HVR-950 into its own entry
(since I don't know if it uses the MTS variant and it will have to be
split off eventually anyway).
Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Joe Perches [Tue, 20 Nov 2007 01:48:15 +0000 (22:48 -0300)]
V4L/DVB (6618): drivers/media/dvb: Add missing "space"
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Joe Perches [Tue, 20 Nov 2007 12:00:35 +0000 (09:00 -0300)]
V4L/DVB (6617): drivers/media/video: Add missing "space"
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Joe Perches [Tue, 20 Nov 2007 01:48:16 +0000 (22:48 -0300)]
V4L/DVB (6616): drivers/media/radio: Add missing "space"
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Fri, 16 Nov 2007 19:28:21 +0000 (16:28 -0300)]
V4L/DVB (6614): Fix driver for i386 architectures
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Fri, 16 Nov 2007 12:43:19 +0000 (09:43 -0300)]
V4L/DVB (6613): Fix: add a missing continue statement
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michel Ludwig [Fri, 16 Nov 2007 10:49:49 +0000 (07:49 -0300)]
V4L/DVB (6612): Allow RESET_CLK callback and avoids unneeded loading
TM5600/TM6000 needs clock reset during firmware load. This patch adds the
capability of caling a callback method for this.
Also, avoids uneeded firmware loads.
Signed-off-by: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michel Ludwig [Fri, 16 Nov 2007 10:46:14 +0000 (07:46 -0300)]
V4L/DVB (6611): Change xc2028_attach method to make easier for DVB
Removes uneeded parameters and adds an structure for passing the parameters
This patch is co-authored by Mauro Carvalho Chehab.
Signed-off-by: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michel Ludwig [Fri, 16 Nov 2007 10:19:35 +0000 (07:19 -0300)]
V4L/DVB (6610): Fix a wrong typecast
Signed-off-by: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Thu, 15 Nov 2007 13:34:33 +0000 (10:34 -0300)]
V4L/DVB (6607): saa7134: add support for reading Hauppauge eeprom
Increased size of dev->eedata from 128 to 256, since the Hauppauge data begins
at byte 128. This has been tested on boards with smaller eeproms, and caused
no problems.
Added comments to distinguish between the various versions of the HVR1110.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Thu, 15 Nov 2007 13:01:11 +0000 (10:01 -0300)]
V4L/DVB (6606): saa7134: add autodetection support for alternate subids of Hauppauge HVR1110
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 15 Nov 2007 14:58:00 +0000 (11:58 -0300)]
V4L/DVB (6605): Add a modprobe option to manually select audio standard
While there's no public API to define audio standard, adds a hack option for
select them. This is needed only for NICAM and A2 firmwares, since AM, BTSC and
EAIJ are already properly handled, on firmware version 2.7.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Brandon Philips [Tue, 6 Nov 2007 23:23:08 +0000 (20:23 -0300)]
V4L/DVB (6603): V4L: videobuf: convert streaming and reading to bitfields
Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Brandon Philips [Tue, 6 Nov 2007 23:02:36 +0000 (20:02 -0300)]
V4L/DVB (6600): V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_
s/STATE_NEEDS_INIT/VIDEOBUF_NEEDS_INIT/g
s/STATE_PREPARED/VIDEOBUF_PREPARED/g
s/STATE_QUEUED/VIDEOBUF_QUEUED/g
s/STATE_ACTIVE/VIDEOBUF_ACTIVE/g
s/STATE_DONE/VIDEOBUF_DONE/g
s/STATE_ERROR/VIDEOBUF_ERROR/g
s/STATE_IDLE/VIDEOBUF_IDLE/g
Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 15 Nov 2007 13:45:19 +0000 (10:45 -0300)]
V4L/DVB (6598): Fix standard name
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 15 Nov 2007 12:44:30 +0000 (09:44 -0300)]
V4L/DVB (6595): Corrects printk lines
Make the driver less verbose by default. It adds a debug parameter to make the
driver more verbose.
Also, error messages were using KERN_ERR level, instead of KERN_INFO.
A few printk messages were reviewed to make them more clear.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 15 Nov 2007 12:35:44 +0000 (09:35 -0300)]
V4L/DVB (6594): Add tuner_err macro
Some tuners, like xc3028, need to print error messages. Instead of declaring
local macros, create a tuner global macro for printing tuner errors.
To preserve CodingStyle on all tuner_macros, a few CodingStyle violations were
fixed at the other macros:
- lines with more than 80 columns
- two statements at the same line
The patch also removes the CodingStyle violation of having emacs declarations
inside de source code (CodingStyle chapter 18).
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 15 Nov 2007 11:43:53 +0000 (08:43 -0300)]
V4L/DVB (6593): Fix scode table loading
Xceive 2028/3028 has a concept of scode/dcode.
Scode is a table of 16 values (each with 12 bytes i2c sequence).
Dcode is the entry of Scode table that should be used, given a certain
frequency.
The idea is that, depending on what frequency is selected, and according with a
country-based (or standard-based?) table, the Xceive should be "hacked" to
fine-tune that specific frequency.
By default, Scode=0 is used, for undefined frequencies. Also, Scode=0 seems to
be the most used value.
This patch adds the capability of selecting a scode. However, extra work will
be needed to allow auto-selecting the proper scode, for a given set of
frequencies.
I'm not sure what would be the proper way for implementing the dcode selection.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Wed, 14 Nov 2007 22:30:28 +0000 (19:30 -0300)]
V4L/DVB (6592): Add the capability to work with more complete firmwares
Firmware version 2.7 has other firmware types. This patch adds the capability
for the driver to work with those newer types.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Luca Risolia [Mon, 12 Nov 2007 14:42:54 +0000 (11:42 -0300)]
V4L/DVB (6591): Adds support for MT9V111 on sn9c102
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>
Olivier DANET [Mon, 12 Nov 2007 13:48:51 +0000 (10:48 -0300)]
V4L/DVB (6590): Adding support for VHF with MT2266-devices
MT2266 :
- support for VHF
- Minor enhancements
Signed-off-by: Olivier DANET <odanet@caramail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
dominik [Sat, 10 Nov 2007 22:23:31 +0000 (19:23 -0300)]
V4L/DVB (6589): Gigabyte u7000 usb dvb-t support
Signed-off-by: dominik <dominik95@free.fr>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Jaroslav Barton [Sat, 10 Nov 2007 22:17:45 +0000 (19:17 -0300)]
V4L/DVB (6588): Leadtek Winfast DTV Dongle remote control
Add remote controller support for Leadtek Winfast DTV Dongle based on
DiB7700P, MT2060 and using last drivers (6040:
6a79c243aecc), firmware
dvb-usb-dib0700-03-pre1.fw
Signed-off-by: Jaroslav Barton <djaara@djaara.net>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 11 Nov 2007 17:15:34 +0000 (14:15 -0300)]
V4L/DVB (6587): Cleanup at tv norm selection
With the conversion to the vidio_ioctl2, tvnorms array is not required anymore.
Also, removed some code from V4L1 time (VIDEO_MODE_foo), specied at the
non-used video_decoder.h.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 11 Nov 2007 16:23:54 +0000 (13:23 -0300)]
V4L/DVB (6586): Remove some dead code and make drive fully V4L2 compatible
There were some vestiges of an old V4L1 I2C driver that were called by em28xx.
This patch removes this dead code, and replaces videodev.h to videodev2.h
Now, this driver doesn't require V4L1 anymore.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 11 Nov 2007 16:17:17 +0000 (13:17 -0300)]
V4L/DVB (6585): Convert em28xx to video_ioctl2
Uses the newer ioctl handler at videodev. This patch also cleans up some
bad logic at the driver and do CodingStyle and other cleanups at the
resulting driver.
Also, since VIDIOCMBUF were not working, the V4L1 compat code were removed.
The compat code will eventually be re-inserted, if we find a clean way for
implementing compatibility with the old API.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 11 Nov 2007 04:13:49 +0000 (01:13 -0300)]
V4L/DVB (6584): Fix read() method
Backport read() fixes from Markus Rechberger.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 11 Nov 2007 04:08:26 +0000 (01:08 -0300)]
V4L/DVB (6583): Fix em28xx read stream locking
On some situations, closing an streaming application and re-opening were
returning -EBUSY.
Uses the same locking schema also present on cx88.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 11 Nov 2007 01:21:01 +0000 (22:21 -0300)]
V4L/DVB (6582): Fix em28xx to allow multiple open
Allows shared access support for em28xx. Just one userspace application is
allowed to get stream. The other(s) application(s) can change V4L2 controls,
set video standards, etc.
This patch were splited from Markus Rechberger's tree and backported to 2.6.17
by Pádraig Brady.
The original patch were ported to the latest em28xx version and had CodingStyle
corrected to solve the issues pointed by scripts/checkpatch.pl.
Thanks to Pádraig Brady <P@draigBrady.com> for pointing this.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Sakari Ailus [Tue, 30 Oct 2007 08:52:52 +0000 (05:52 -0300)]
V4L/DVB (6580): Set slave's master before master's attach call.
V4L: Int if: Set slave's master before attach, remove master argument
The master also now gets its own pointer from slave's structure.
Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:07:06 +0000 (14:07 -0300)]
V4L/DVB (6578): dvb-usb: make some debug vars static
This patch makes some needlessly global debug variables static.
opera1.h became so small that I removed it.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:07:26 +0000 (14:07 -0300)]
V4L/DVB (6577): et61x251/: make 5 functions static
This patch makes the following needlessly global functions in
et61x251_core.c static:
- et61x251_read_reg()
- et61x251_i2c_try_read()
- et61x251_i2c_try_write()
- et61x251_i2c_read()
- et61x251_i2c_write()
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:07:22 +0000 (14:07 -0300)]
V4L/DVB (6576): cx88-mpeg.c: make 4 functions static
This patch makes the following needlessly global functions static:
- cx8802_init_common()
- cx8802_fini_common()
- cx8802_suspend_common()
- cx8802_resume_common()
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:07:20 +0000 (14:07 -0300)]
V4L/DVB (6575): cx23885/: cleanups
This patch contains the following cleanups:
- make the following needlessly global code static:
- cx23885-core.c: struct cx23885_sram_channels[]
- cx23885-core.c: struct cx23887_sram_channels[]
- cx23885-core.c: cx23885_wakeup()
- cx23885-core.c: cx23885_sram_channel_setup()
- cx23885-core.c: cx23885_sram_channel_dump()
- cx23885-core.c: cx23885_risc_disasm()
- cx23885-core.c: cx23885_shutdown()
- cx23885-core.c: cx23885_reset()
- cx23885-core.c: cx23885_dev_unregister()
- cx23885-core.c: cx23885_risc_databuffer()
- cx23885-core.c: cx23885_risc_stopper()
- #if 0 the following unused functions:
- cx23885-core.c: cx23885_risc_buffer()
- cx23885-core.c: cx23885_cancel_buffers()
- remove the following unused EXPORT_SYMBOL's:
- cx23885-cards.c: cx23885_boards
- cx23885-i2c.c: cx23885_call_i2c_clients
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Reviewed-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:07:18 +0000 (14:07 -0300)]
V4L/DVB (6574): common/ir-functions.c: make a function static
ir_rc5_decode() can become static.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:06:52 +0000 (14:06 -0300)]
V4L/DVB (6573): unexport flexcop_reset_block_300
This patch removes the unused EXPORT_SYMBOL(flexcop_reset_block_300).
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:06:47 +0000 (14:06 -0300)]
V4L/DVB (6572): dvb-usb/vp702x.c: cleanups
This patch contains the following cleanups:
- make the needlessly global vp702x_usb_out_op() static
- #if 0 the unused vp702x_power_ctrl()
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:06:41 +0000 (14:06 -0300)]
V4L/DVB (6571): dvb-usb/gp8psk.c: #if 0 gp8psk_bcm4500_reload()
This patch #if 0's the unused gp8psk_bcm4500_reload()
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:06:38 +0000 (14:06 -0300)]
V4L/DVB (6570): core/dvb_ringbuffer.c: remove unused exports
This patch removes the following unused EXPORT_SYMBOL's:
- dvb_ringbuffer_flush
- dvb_ringbuffer_pkt_write
- dvb_ringbuffer_pkt_read
- dvb_ringbuffer_pkt_dispose
- dvb_ringbuffer_pkt_next
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adrian Bunk [Mon, 5 Nov 2007 17:06:31 +0000 (14:06 -0300)]
V4L/DVB (6569): bt8xx/dst.c: make code static
This patch makes the following needlessly global code static:
- dst_gpio_outb()
- dst_gpio_inb()
- rdc_8820_reset()
- dst_pio_enable()
- dst_command()
- struct tuner_list[]
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Roel Kluin [Tue, 6 Nov 2007 13:25:16 +0000 (10:25 -0300)]
V4L/DVB (6564): Move check before lock
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
CC: Antti Palosaari <crope@iki.fi>
CC: Carl Lundqvist <comabug@gmail.com>
CC: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Mon, 5 Nov 2007 12:54:42 +0000 (09:54 -0300)]
V4L/DVB (6563): tda8290: optimize for loop in tda829x_probe function
Thanks to Trent Piepho for pointing this out.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Mon, 5 Nov 2007 12:30:39 +0000 (09:30 -0300)]
V4L/DVB (6562): Make HVR900 to use also tveeprom
Hauppauge firmwares can be decoded using tveeprom. This patch adds HVR-900 as
a tveeprom client. It also adds xc3028 tuner entry to tveeprom.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Mon, 5 Nov 2007 12:07:13 +0000 (09:07 -0300)]
V4L/DVB (6561): Fix xc2028 get register functions and calls
The status registers require a dword for setting register. Fix it on all
occurrences, and at xc3028_get_reg. Also, improves the hardware/firmware
detection printk.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Mon, 5 Nov 2007 11:42:55 +0000 (08:42 -0300)]
V4L/DVB (6560): Fix a bug when setting tuner type
Tuner-type were correctly filled only by the hint function.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Mon, 5 Nov 2007 11:41:50 +0000 (08:41 -0300)]
V4L/DVB (6559): Fix a buffer overflow at xc2028_get_reg
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Thu, 1 Nov 2007 09:19:39 +0000 (06:19 -0300)]
V4L/DVB (6557): tea5767: remove unnecessary warning
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Sun, 4 Nov 2007 14:03:36 +0000 (11:03 -0300)]
V4L/DVB (6556): tuner: convert to bus-based I2C API
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Sun, 4 Nov 2007 13:53:09 +0000 (10:53 -0300)]
V4L/DVB (6555): tuner: reorder functions to prepare for i2c conversion
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Sun, 4 Nov 2007 13:42:42 +0000 (10:42 -0300)]
V4L/DVB (6553): tuner: replace default_mode_mask
The default_mode_mask global is replaced by a list of tuner structs. The
tuner driver now walks that list to see which radio and/or tv tuner
devices are registered to a given i2c adapter.
The default_mode_mask global had to go since this is no longer supported
with the new bus-based I2C API.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Sun, 4 Nov 2007 14:03:22 +0000 (11:03 -0300)]
V4L/DVB (6551): tda8290: rule out tda988x before detecting tda8290/tda8295
To ensure prevention of detecting a tda9885/6/7 as a tda8290 or tda8295, we
will rule out the tda988x before testing the tda8290 / tda8295 id registers.
We read 8 bytes from the chip. If they are all equal, then it is not a
tda829x, or some other error has occurred.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Sun, 4 Nov 2007 13:51:28 +0000 (10:51 -0300)]
V4L/DVB (6550): tda8290: return -ENODEV on probe failures
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Fri, 25 Jan 2008 13:01:41 +0000 (11:01 -0200)]
V4L/DVB(6548b) Fix compilation for em28xx
From: Mauro Carvalho Chehab <mchehab@infradead.org>
In file included from drivers/media/video/em28xx/em28xx-i2c.c:31:
drivers/media/video/tuner-xc2028.h:10:26: error: dvb_frontend.h: No such file or directory
In file included from drivers/media/video/em28xx/em28xx-i2c.c:31:
drivers/media/video/tuner-xc2028.h:32: warning: 'struct dvb_frontend' declared inside parameter list
drivers/media/video/tuner-xc2028.h:32: warning: its scope is only this definition or declaration, which is probably not what you want
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Fri, 25 Jan 2008 13:01:40 +0000 (11:01 -0200)]
V4L/DVB(6548a) Fix compilation for TDA8290
From: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/tda8290.c:27:21: error: tda827x.h: No such file or directory
drivers/media/video/tda8290.c:28:22: error: tda18271.h: No such file or directory
drivers/media/video/tda8290.c:52: error: field 'cfg' has incomplete type
drivers/media/video/tda8290.c: In function 'tda829x_find_tuner':
drivers/media/video/tda8290.c:590: error: implicit declaration of function 'tda18271_attach'
drivers/media/video/tda8290.c:598: error: implicit declaration of function 'tda827x_attach'
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 4 Nov 2007 11:32:42 +0000 (08:32 -0300)]
V4L/DVB (6546): Add comments for the hint methods
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Sascha Sommer [Sun, 4 Nov 2007 11:06:48 +0000 (08:06 -0300)]
V4L/DVB (6545): em28xx: autodetect Cinergy 200 USB and VGear PocketTV
Adds autodetection support for the Cinergy200 USB and the VGear PocketTV.
Whenever a usb device with generic empia em2800 usb ids is detected the device
gets scanned for connected i2c devices. If the device list matches an em2800
device in the device list the model id gets changed accordingly.
Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Sun, 4 Nov 2007 01:14:54 +0000 (22:14 -0300)]
V4L/DVB (6543): tda8290: enable probing of tda8295
Prevent the tda8295 from falsely being detected as a tda9887
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 4 Nov 2007 01:04:33 +0000 (22:04 -0300)]
V4L/DVB (6541): Add V-Gear PocketTV to Cardlist.em28xx
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Sascha Sommer [Sat, 3 Nov 2007 18:05:07 +0000 (15:05 -0300)]
V4L/DVB (6539): em28xx: add support for vgear pockettv
attached patch adds support for the vgear pockettv.
It seems to require a write to another register for audio to work.
I checked my old cinergydrv and we did the same register write there. I
therefore enabled it for all em2800 based devices.
Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Sascha Sommer [Sun, 4 Nov 2007 00:22:38 +0000 (21:22 -0300)]
V4L/DVB (6538): em28xx: fix locking to allow accesses from 2 different threads at the same time
The attached patch modifies the em28xx driver so that there can be ioctls from
multiple different threads.
This is necessary for capture apps like MPlayer that use different threads for
capturing and channel tuning.
Now the locking is only done for the ioctls that change properties of the
device or access the i2c bus.
It also removes some locks that look unnecessary:
In em28xx_init_dev:
the videodevice is not registered yet so nothing can access the hardware
meanwhile, the device struct is not assigned to the interface yet so no race
with disconnect is possible
In em28xx_release_resources:
it gets only called when dev->lock is already held
Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 4 Nov 2007 00:21:57 +0000 (21:21 -0300)]
V4L/DVB (6537): Add entry for Pixelview Prolink PlayTV USB 2.0
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 4 Nov 2007 00:20:59 +0000 (21:20 -0300)]
V4L/DVB (6536): Add a hint for boards without unique USB ID
This patch adds a function to allow trying to detect boards that shares
the generic IDs.
The current detection method is based at eeprom checksum.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sat, 3 Nov 2007 11:07:07 +0000 (08:07 -0300)]
V4L/DVB (6535): Fix: Adds the generic PCI IDs for em28xx
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Fri, 2 Nov 2007 00:52:58 +0000 (21:52 -0300)]
V4L/DVB (6519): Fix HVR900/HVR950 entry
- Television is now default;
- Add HVR950 name at the entry.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 1 Nov 2007 20:47:42 +0000 (17:47 -0300)]
V4L/DVB (6517): CodingStyle fixup
Used scripts/Lindent + manual check + scripts/checkpatch.pl
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 1 Nov 2007 19:56:26 +0000 (16:56 -0300)]
V4L/DVB (6516): Allow faster loading by using 64 bytes block by em28xx i2c write
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Trent Piepho [Thu, 1 Nov 2007 04:16:05 +0000 (01:16 -0300)]
V4L/DVB (6508): ttpci: Rework Kconfig menus and Makefile
The ttpci Kconfig file has bugs that cause it to fail in certain Kconfig
situations. The basic problem is that it selects certain drivers, but does
not depend on the dependencies of those drivers.
See http://article.gmane.org/gmane.comp.video.video4linux/35072
Using the Kconfig file also has some annoyances. For instance one can't turn
off AV7110 support unless you go down several options and first turn off
budget-patch support. Normally user selectable drivers are not forced on like
this.
The "AV7110 cards with Budget Patch" option is disabled if "Budget cards"
isn't on. Normally a driver appears nested under a driver it depends on, but
since drivers that don't depend on "Budget cards" are between the two options,
the config programs can't display the tree correctly.
The Makefile has an issue too. Some modules, ttpci-eeprom and budget-core,
appear in the Makefile under several different config symbols. If more than
one of these symbols is on, they will get added the to list of objects
multiple times. The normal convention is to have a config symbol just the
common object(s) and have the users of the that object either depend on or
select that config symbol.
This patch fixes all these issues. ttpci-eepom is under a new config symbol,
and so is the budget-core module. The four different budget card types appear
as sub-drivers under a main "SAA7146 DVB cards" option. Turning on
budget-patch doesn't force AV7110. Drivers using SAA7146_VV have the
necessary VIDEO_DEV dependency, so that it isn't possible to select SAA7146_VV
without V4L being on.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Trent Piepho [Thu, 1 Nov 2007 04:16:04 +0000 (01:16 -0300)]
V4L/DVB (6507): bttv: whitespace cleanup
Someone wasn't using the v4l-dvb commit scripts and so didn't run the
automatic whitespace cleaner on their code.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Marco Schluessler [Wed, 31 Oct 2007 04:20:42 +0000 (01:20 -0300)]
V4L/DVB (6497): saa7146/budget*/dvb-ttpci: Remove V4L1 code
Remove V4L1 code.
Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Marco Schluessler [Wed, 31 Oct 2007 03:44:22 +0000 (00:44 -0300)]
V4L/DVB (6496): saa7146_vv.h: remove wrong include <linux/videodev.h>
remove wrong include <linux/videodev.h>
Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Tue, 30 Oct 2007 12:46:10 +0000 (09:46 -0300)]
V4L/DVB (6492): tuner: improve tuner_foo printk macros consistency
Alter the tuner_foo printk macros to indicate which module is
generating the message.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky [Tue, 30 Oct 2007 12:44:12 +0000 (09:44 -0300)]
V4L/DVB (6491): tuner: prevent repeated "type set" message unless debug is enabled
The tuner sub-module will usually log its type during its _attach() function,
then tuner-core reports which type was attached when control is returned.
In most cases, we expect to see the same message reported from both locations.
We only need to see this second message if debug is enabled.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Tue, 30 Oct 2007 09:00:05 +0000 (06:00 -0300)]
V4L/DVB (6490): Remove EXPERIMENTAL from several i2c drivers
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Tue, 30 Oct 2007 08:55:58 +0000 (05:55 -0300)]
V4L/DVB (6489): ivtv: add support for AVerMedia PVR-150 Plus
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Tue, 30 Oct 2007 08:50:03 +0000 (05:50 -0300)]
V4L/DVB (6488): ivtv: add ASUS Falcon2 support
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Tue, 30 Oct 2007 08:41:54 +0000 (05:41 -0300)]
V4L/DVB (6487): i2c-id: add M52790 driver ID
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil [Tue, 30 Oct 2007 08:41:25 +0000 (05:41 -0300)]
V4L/DVB (6486): m52790: add new Mitsubishi A/V switch i2c driver
This driver is used by the ASUS Falcon2 cx23416-based cards.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Douglas Schilling Landgraf [Mon, 29 Oct 2007 03:44:55 +0000 (00:44 -0300)]
V4L/DVB (6483): ivtv-streams: make file_operations const
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Douglas Schilling Landgraf [Mon, 29 Oct 2007 03:37:07 +0000 (00:37 -0300)]
V4L/DVB (6482): zr364: make file_operations const
zr364: make file_operations const
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Douglas Schilling Landgraf [Mon, 29 Oct 2007 02:41:19 +0000 (23:41 -0300)]
V4L/DVB (6481): radio-gemtek: make file_operations const
make file_operations const
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Randy Dunlap [Mon, 29 Oct 2007 18:19:45 +0000 (15:19 -0300)]
V4L/DVB (6480): bttv: uses input functions, should depend on INPUT
Several media drivers use input_(*) functions so they need to depend on
the INPUT config symbol.
drivers/built-in.o: In function `bttv_input_fini':
linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:346: undefined reference to `input_unregister_device'
drivers/built-in.o: In function `bttv_input_init':
linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:204: undefined reference to `input_allocate_device'
linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device'
linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:321: undefined reference to `input_register_device'
linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Tue, 30 Oct 2007 02:44:18 +0000 (23:44 -0300)]
V4L/DVB (6477): Properly fill MODULE_AUTHOR
Most of the driver were written by Mauro Carvalho Chehab.
DTV parts were added by Michel Ludwig.
Reviewed-by: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Tue, 30 Oct 2007 02:36:12 +0000 (23:36 -0300)]
V4L/DVB (6476): Add support for analog tv on HVR-950
This patch adds USB ID for HVR-950. It also adds the callback for handling
firmware loading.
Thanks to Markus Reichberger for the reset commands.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>