OSDN Git Service
Mauro Carvalho Chehab [Thu, 22 Nov 2007 15:08:53 +0000 (12:08 -0300)]
V4L/DVB (6659): Convert MTS to bitfield
Xc2028.3028 has two type of firmwares: audio-standard specific ones and
baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz
BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares.
It seems that the option to use MTS or a standard-specific audio decoding
depends on the way xc2028/3028 is connected.
Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use MTS
firmware, this patch converts it to a bitfield that can be shared with other
proprieties of xc2028/3028.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Fri, 23 Nov 2007 14:36:18 +0000 (11:36 -0300)]
V4L/DVB (6658): Sets a default std, if not specified
Some drivers call set_frequency before selecting the video standard. Before
this patch, an invalid standard ID could be assumed.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Thu, 22 Nov 2007 14:47:18 +0000 (11:47 -0300)]
V4L/DVB (6657): Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSC
Those standards use 6 MHz firmware.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 11:17:54 +0000 (08:17 -0300)]
V4L/DVB (6656): zl10353: store frequencies in 0.1kHz to eliminate rounding errors
Whilst reanalysing my formulas I realised it was no longer possible to get the
right values for a 36.1667MHz IF due to rounding problems.
Storing frequencies in units of 0.1kHz makes it possible to calculate these
again correctly.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 06:34:11 +0000 (03:34 -0300)]
V4L/DVB (6655): Add support for MT352-based DViCO FusionHDTV DVB-T NANO devices
There are at least three variants of the DViCO FusionHDTV DVB-T NANO that
share the same USB device ID. The first (ZL10353 w/ firmware in ROM) is
already supported; the latter two both require firmware and have either
an MT352 or ZL10353 demodulator, and have a different IR receiver from the
first.
This introduces a new identify_state that can tell the difference between a
"warm" device which is running the embedded firmware, and a "cold" device
that needs us to upload firmware to it before it will work. We patch the
uploaded device ID (like we do for other bluebird devices) to make it easy
to identify the particular device variant when it reattaches.
NB: These devices use a different firmware file from previous bluebird
devices. You need a new firmware file to make this work.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 05:49:41 +0000 (02:49 -0300)]
V4L/DVB (6654): mt352: support oversampled IF input
Rework the input frequency calculation so that it produces the right values
when the ADC oversamples the IF input.
This means MT352 devices can now process a near-zero IF (according to the,
specs 4.57MHz is supported with the default crystal).
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 04:53:31 +0000 (01:53 -0300)]
V4L/DVB (6653): Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmware
Add support for the DViCO FusionHDTV DVB-T NANO with zl10353 demodulator and
firmware in ROM on the device.
Again, this is based on the great work of Mike Krufky with my modifications
to use the in-tree XC2028 driver.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 02:43:13 +0000 (23:43 -0300)]
V4L/DVB (6652): xc2028: try non-8MHZ init1 firmware
When loading init1 firmware, there may not be an 8MHz specific version.
Load the non-8MHz version if it exists.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 02:18:36 +0000 (23:18 -0300)]
V4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific types
When searching for standard-specific analog firmware, only certain
type bits are valid, much like for DTV. Mask them off when finding
the firmware to load.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 02:11:37 +0000 (23:11 -0300)]
V4L/DVB (6650): xc2028: base firmwares should have std0
When loading BASE firmware, we must use std = 0.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Chris Pascoe [Tue, 20 Nov 2007 00:57:10 +0000 (21:57 -0300)]
V4L/DVB (6649): Add support for the DViCO FusionHDTV Dual Digital 4
Add support for DViCO's Dual Digital 4 with xc3028 tuner, zl10353 DVB-T
demodulator and a new-style I2C IR remote control receiver.
This would not have been possible without the work of and advice from
Mike Krufky, who originally got the Dual Digital 4 and second-gen DVB-T
NANO devices working with the out-of-tree XC3028 driver.
I converted it to use the in-tree XC3028 driver (after making it suitable
for our use), and added the IR remote control support based on his advice.
NB: a firmware package is required to use this device.
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 14:41:20 +0000 (11:41 -0300)]
V4L/DVB (6648): xc2028: add sleep hook
Add sleep method to enable putting the tuner into standby mode.
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 14:35:45 +0000 (11:35 -0300)]
V4L/DVB (6647): xc2028: retry firmware load if tuner does not respond
In practice, the tuner occasionally fails to respond correctly after a
firmware load. Retry the firmware load if the firmware/hardware version
we read back from the tuner after programming does not match what we
expect.
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 14:22:03 +0000 (11:22 -0300)]
V4L/DVB (6646): xc2028: rework firmware (re)loading process
Define a list of valid "firmware types" for each combination of BASE,
DTV and SCODEs. By masking the appropriate firmware bits off we can
just use one "type" for the firmware searching and also flag when we
are looking for a BASE, DTV or SCODE type firmware. This makes it
much easier to track if we need to change device modes or flash an
individual firmware part.
Add a structure to remember what firmware properties we have. This
contains the currently loaded/wanted base firmware (type), video std
(id), video std requested (std_req), scode file and number in use.
Incorporate said structure into the tuner private data.
When checking whether the current firmware needs to be reloaded, first
figure out exactly what "type" of firmware we want (base, std and
scode), and then proceed to load the appropriate matching base,
std-specific and scode records iff there are any changes required.
This removes guesswork from the process because we no longer need to
individually code a check for every tuning parameter's interactions.
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 13:23:17 +0000 (10:23 -0300)]
V4L/DVB (6645): xc2028: allow selection of D2633 firmware
Add a bit to select D2633 DTV firmware to struct xc2028_ctrl, so that it can
be enabled via .set_config.
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 13:12:45 +0000 (10:12 -0300)]
V4L/DVB (6644): xc2028: use correct offset into scode firmware
When validating and loading SCODE firmware we need to take into account the
two-byte size header before each entry.
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 13:04:06 +0000 (10:04 -0300)]
V4L/DVB (6643): xc2028: use best match instead of first partial match during firmware selection
Rather than picking the first video standard firmware that supports any of
the standards that the user has requested, try to select one that supports
as many of them as possible. This improves the likelihood that the firmware
we select will support the user's desired TV standard.
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 12:29:59 +0000 (09:29 -0300)]
V4L/DVB (6642): xc2028: don't duplicate max_len in priv
There is no need to duplicate the max_len field from the ctrl structure
in the private data. If we use it directly from priv->ctrl, we can memcpy
the structure (apart from strings) to reduce maintenance as it grows.
Enforce a minimum max_len length of 8 data bytes (+ 1 address byte) as seems
to be required by the tuner.
Also, use kstrdup instead of open coding the string duplication.
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 09:35:26 +0000 (06:35 -0300)]
V4L/DVB (6641): xc2028: correct tuner offset for 7MHz DTV
7MHz bandwidth DVB-T needs an adjusted offset at the PLL to ensure the IF
output is correctly centered.
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 09:33:16 +0000 (06:33 -0300)]
V4L/DVB (6640): xc2028: correctly select 8MHz firmware
We were using priv->bandwidth to select the base firmware to load, not the
requested bandwidth value, oops. Also, 7MHz Digital TV needs 8MHz base
firmware loaded.
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 09:20:17 +0000 (06:20 -0300)]
V4L/DVB (6639): xc2028: correct divisor length
The frequency divisor should only be four bytes long. Also, display the
frequency and divisor correctly in the debug output.
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 09:06:08 +0000 (06:06 -0300)]
V4L/DVB (6638): xc2028: firmware loading cleanup
Hold the private lock over set_config and set priv->firm_size to 0 after a
failed firmware load to prevent firmware accidentally being freed on us.
Clean up the firmware load/error messages somewhat and rename priv->version
to priv->firm_version to make it clear which "version" it is.
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: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>