11 years agoV4L/DVB (6665b): add ivtv to MAINTAINERS
Hans Verkuil [Sun, 2 Dec 2007 12:35:33 +0000]
V4L/DVB (6665b): add ivtv to MAINTAINERS

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6665a): finish the VID_HARDWARE_* removal
Adrian Bunk [Sun, 25 Nov 2007 22:04:47 +0000]
V4L/DVB (6665a): finish the VID_HARDWARE_* removal

This patch removes a few remainders of the VID_HARDWARE_* removal.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
643d01fb38b6f376cced035549f4e193018776e7

11 years agoV4L/DVB (6665): Fix CodingStyle
Mauro Carvalho Chehab [Fri, 23 Nov 2007 17:22:14 +0000]
V4L/DVB (6665): Fix CodingStyle

thanks to checkpatch.pl

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6664): Add missing USB ID's at CARDLIST.em28xx
Mauro Carvalho Chehab [Fri, 23 Nov 2007 17:20:24 +0000]
V4L/DVB (6664): Add missing USB ID's at CARDLIST.em28xx

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6662): Fix standard selection for PAL
Mauro Carvalho Chehab [Thu, 22 Nov 2007 14:47:18 +0000]
V4L/DVB (6662): Fix standard selection for PAL

Not all 8MHz firmware are marked with F8MHz.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6661): Remove firmware reload hack for analog
Mauro Carvalho Chehab [Thu, 22 Nov 2007 15:48:04 +0000]
V4L/DVB (6661): Remove firmware reload hack for analog

On some cases, xc2028/xc3028 wents into "turn off" mode. It seems that this
happens when very weak signals are tuned. To solve this, specific standard
reaload were done previously. Christopher patches changed this behavior to a
complete firmware reload.

This patch removes the hack. A much cleaner solution for this trouble is just
to sent a xc2028/3028 software reset.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6660): Allow fully configuring xc3028 during xc2028_attach
Mauro Carvalho Chehab [Thu, 22 Nov 2007 15:19:37 +0000]
V4L/DVB (6660): Allow fully configuring xc3028 during xc2028_attach

xc3028 can be used on some DTV only designs (for example, DVB-S boards). Before
this patch, a DTV only board would need to call set_tuner_config callback.

This patch allows to optionally pass a xc3028_ctrl parameter, via xc3028_config
struct, fully initializing the driver for DTV.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6659): Convert MTS to bitfield
Mauro Carvalho Chehab [Thu, 22 Nov 2007 15:08:53 +0000]
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>

11 years agoV4L/DVB (6658): Sets a default std, if not specified
Mauro Carvalho Chehab [Fri, 23 Nov 2007 14:36:18 +0000]
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>

11 years agoV4L/DVB (6657): Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSC
Mauro Carvalho Chehab [Thu, 22 Nov 2007 14:47:18 +0000]
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>

11 years agoV4L/DVB (6656): zl10353: store frequencies in 0.1kHz to eliminate rounding errors
Chris Pascoe [Tue, 20 Nov 2007 11:17:54 +0000]
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>

11 years agoV4L/DVB (6655): Add support for MT352-based DViCO FusionHDTV DVB-T NANO devices
Chris Pascoe [Tue, 20 Nov 2007 06:34:11 +0000]
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>

11 years agoV4L/DVB (6654): mt352: support oversampled IF input
Chris Pascoe [Tue, 20 Nov 2007 05:49:41 +0000]
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>

11 years agoV4L/DVB (6653): Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmware
Chris Pascoe [Tue, 20 Nov 2007 04:53:31 +0000]
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>

11 years agoV4L/DVB (6652): xc2028: try non-8MHZ init1 firmware
Chris Pascoe [Tue, 20 Nov 2007 02:43:13 +0000]
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>

11 years agoV4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific...
Chris Pascoe [Tue, 20 Nov 2007 02:18:36 +0000]
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>

11 years agoV4L/DVB (6650): xc2028: base firmwares should have std0
Chris Pascoe [Tue, 20 Nov 2007 02:11:37 +0000]
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>

11 years agoV4L/DVB (6649): Add support for the DViCO FusionHDTV Dual Digital 4
Chris Pascoe [Tue, 20 Nov 2007 00:57:10 +0000]
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>

11 years agoV4L/DVB (6648): xc2028: add sleep hook
Chris Pascoe [Mon, 19 Nov 2007 14:41:20 +0000]
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>

11 years agoV4L/DVB (6647): xc2028: retry firmware load if tuner does not respond
Chris Pascoe [Mon, 19 Nov 2007 14:35:45 +0000]
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>

11 years agoV4L/DVB (6646): xc2028: rework firmware (re)loading process
Chris Pascoe [Mon, 19 Nov 2007 14:22:03 +0000]
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>

11 years agoV4L/DVB (6645): xc2028: allow selection of D2633 firmware
Chris Pascoe [Mon, 19 Nov 2007 13:23:17 +0000]
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>

11 years agoV4L/DVB (6644): xc2028: use correct offset into scode firmware
Chris Pascoe [Mon, 19 Nov 2007 13:12:45 +0000]
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>

11 years agoV4L/DVB (6643): xc2028: use best match instead of first partial match during firmware...
Chris Pascoe [Mon, 19 Nov 2007 13:04:06 +0000]
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>

11 years agoV4L/DVB (6642): xc2028: don't duplicate max_len in priv
Chris Pascoe [Mon, 19 Nov 2007 12:29:59 +0000]
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>

11 years agoV4L/DVB (6641): xc2028: correct tuner offset for 7MHz DTV
Chris Pascoe [Mon, 19 Nov 2007 09:35:26 +0000]
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>

11 years agoV4L/DVB (6640): xc2028: correctly select 8MHz firmware
Chris Pascoe [Mon, 19 Nov 2007 09:33:16 +0000]
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>

11 years agoV4L/DVB (6639): xc2028: correct divisor length
Chris Pascoe [Mon, 19 Nov 2007 09:20:17 +0000]
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>

11 years agoV4L/DVB (6638): xc2028: firmware loading cleanup
Chris Pascoe [Mon, 19 Nov 2007 09:06:08 +0000]
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>

11 years agoV4L/DVB (6637): xc2028: add missing break
Chris Pascoe [Mon, 19 Nov 2007 07:53:50 +0000]
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>

11 years agoV4L/DVB (6636): xc2028: protect device list
Chris Pascoe [Mon, 19 Nov 2007 07:45:38 +0000]
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>

11 years agoV4L/DVB (6635): xc2028: v4l2_std_id needs to be long long to display completely
Chris Pascoe [Mon, 19 Nov 2007 07:38:53 +0000]
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>

11 years agoV4L/DVB (6634): xc2028: error messages missing whitespace
Chris Pascoe [Mon, 19 Nov 2007 07:34:29 +0000]
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>

11 years agoV4L/DVB (6633): xc2028: make register reads atomic
Chris Pascoe [Mon, 19 Nov 2007 07:31:58 +0000]
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>

11 years agoV4L/DVB (6632): xc2028: fix inverted logic in audio standard check
Chris Pascoe [Mon, 19 Nov 2007 07:16:47 +0000]
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>

11 years agoV4L/DVB (6631): xc2028: eliminate i2c macro side-effects
Chris Pascoe [Mon, 19 Nov 2007 07:14:23 +0000]
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>

11 years agoV4L/DVB (6630): zl10353: calculate input frequency register instead of using hardcode...
Chris Pascoe [Mon, 19 Nov 2007 06:55:45 +0000]
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>

11 years agoV4L/DVB (6628): zl10353: Improve support for boards without a tuner on secondary i2c
Chris Pascoe [Mon, 19 Nov 2007 06:32:06 +0000]
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>

11 years agoV4L/DVB (6627): CXUSB: handle write then read from different address
Chris Pascoe [Mon, 19 Nov 2007 06:05:09 +0000]
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>

11 years agoV4L/DVB (6626): CXUSB: support only-read i2c requests
Chris Pascoe [Mon, 19 Nov 2007 06:01:22 +0000]
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>

11 years agoV4L/DVB (6625): CXUSB: i2c transfer failure notification
Chris Pascoe [Mon, 19 Nov 2007 05:48:27 +0000]
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>

11 years agoV4L/DVB (6624): CXUSB: return control message transfer result to caller
Chris Pascoe [Mon, 19 Nov 2007 05:42:44 +0000]
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>

11 years agoV4L/DVB (6623): remove saa7134-oss
Adrian Bunk [Wed, 21 Nov 2007 22:55:52 +0000]
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>

11 years agoV4L/DVB (6622): tda827x: prevent possible NULL pointer dereference in tda827xa_lna_gain
Michael Krufky [Thu, 22 Nov 2007 17:40:25 +0000]
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>

11 years agoV4L/DVB (6621): tda827x: fix NULL pointer dereference during tda827x_probe_version
Michael Krufky [Sun, 18 Nov 2007 17:15:42 +0000]
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>

11 years agoV4L/DVB (6620): kconfig: VIDEO_SAA7134 must select VIDEO_TVEEPROM
Michael Krufky [Thu, 22 Nov 2007 17:15:34 +0000]
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>

11 years agoV4L/DVB (6619): Use MTS firmware for the HVR-900
Aidan Thornton [Tue, 20 Nov 2007 18:25:08 +0000]
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>

11 years agoV4L/DVB (6618): drivers/media/dvb: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:15 +0000]
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>

11 years agoV4L/DVB (6617): drivers/media/video: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 12:00:35 +0000]
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>

11 years agoV4L/DVB (6616): drivers/media/radio: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:16 +0000]
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>

11 years agoV4L/DVB (6614): Fix driver for i386 architectures
Mauro Carvalho Chehab [Fri, 16 Nov 2007 19:28:21 +0000]
V4L/DVB (6614): Fix driver for i386 architectures

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6613): Fix: add a missing continue statement
Mauro Carvalho Chehab [Fri, 16 Nov 2007 12:43:19 +0000]
V4L/DVB (6613): Fix: add a missing continue statement

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6612): Allow RESET_CLK callback and avoids unneeded loading
Michel Ludwig [Fri, 16 Nov 2007 10:49:49 +0000]
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>

11 years agoV4L/DVB (6611): Change xc2028_attach method to make easier for DVB
Michel Ludwig [Fri, 16 Nov 2007 10:46:14 +0000]
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>

11 years agoV4L/DVB (6610): Fix a wrong typecast
Michel Ludwig [Fri, 16 Nov 2007 10:19:35 +0000]
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>

11 years agoV4L/DVB (6607): saa7134: add support for reading Hauppauge eeprom
Michael Krufky [Thu, 15 Nov 2007 13:34:33 +0000]
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>

11 years agoV4L/DVB (6606): saa7134: add autodetection support for alternate subids of Hauppauge...
Michael Krufky [Thu, 15 Nov 2007 13:01:11 +0000]
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>

11 years agoV4L/DVB (6605): Add a modprobe option to manually select audio standard
Mauro Carvalho Chehab [Thu, 15 Nov 2007 14:58:00 +0000]
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>

11 years agoV4L/DVB (6603): V4L: videobuf: convert streaming and reading to bitfields
Brandon Philips [Tue, 6 Nov 2007 23:23:08 +0000]
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>

11 years agoV4L/DVB (6600): V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_
Brandon Philips [Tue, 6 Nov 2007 23:02:36 +0000]
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>

11 years agoV4L/DVB (6598): Fix standard name
Mauro Carvalho Chehab [Thu, 15 Nov 2007 13:45:19 +0000]
V4L/DVB (6598): Fix standard name

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6595): Corrects printk lines
Mauro Carvalho Chehab [Thu, 15 Nov 2007 12:44:30 +0000]
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>

11 years agoV4L/DVB (6594): Add tuner_err macro
Mauro Carvalho Chehab [Thu, 15 Nov 2007 12:35:44 +0000]
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>

11 years agoV4L/DVB (6593): Fix scode table loading
Mauro Carvalho Chehab [Thu, 15 Nov 2007 11:43:53 +0000]
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>

11 years agoV4L/DVB (6592): Add the capability to work with more complete firmwares
Mauro Carvalho Chehab [Wed, 14 Nov 2007 22:30:28 +0000]
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>

11 years agoV4L/DVB (6591): Adds support for MT9V111 on sn9c102
Luca Risolia [Mon, 12 Nov 2007 14:42:54 +0000]
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>

11 years agoV4L/DVB (6590): Adding support for VHF with MT2266-devices
Olivier DANET [Mon, 12 Nov 2007 13:48:51 +0000]
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>

11 years agoV4L/DVB (6589): Gigabyte u7000 usb dvb-t support
dominik [Sat, 10 Nov 2007 22:23:31 +0000]
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>

11 years agoV4L/DVB (6588): Leadtek Winfast DTV Dongle remote control
Jaroslav Barton [Sat, 10 Nov 2007 22:17:45 +0000]
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>

11 years agoV4L/DVB (6587): Cleanup at tv norm selection
Mauro Carvalho Chehab [Sun, 11 Nov 2007 17:15:34 +0000]
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>

11 years agoV4L/DVB (6586): Remove some dead code and make drive fully V4L2 compatible
Mauro Carvalho Chehab [Sun, 11 Nov 2007 16:23:54 +0000]
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>

11 years agoV4L/DVB (6585): Convert em28xx to video_ioctl2
Mauro Carvalho Chehab [Sun, 11 Nov 2007 16:17:17 +0000]
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>

11 years agoV4L/DVB (6584): Fix read() method
Mauro Carvalho Chehab [Sun, 11 Nov 2007 04:13:49 +0000]
V4L/DVB (6584): Fix read() method

Backport read() fixes from Markus Rechberger.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6583): Fix em28xx read stream locking
Mauro Carvalho Chehab [Sun, 11 Nov 2007 04:08:26 +0000]
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>

11 years agoV4L/DVB (6582): Fix em28xx to allow multiple open
Mauro Carvalho Chehab [Sun, 11 Nov 2007 01:21:01 +0000]
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>

11 years agoV4L/DVB (6580): Set slave's master before master's attach call.
Sakari Ailus [Tue, 30 Oct 2007 08:52:52 +0000]
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>

11 years agoV4L/DVB (6578): dvb-usb: make some debug vars static
Adrian Bunk [Mon, 5 Nov 2007 17:07:06 +0000]
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>

11 years agoV4L/DVB (6577): et61x251/: make 5 functions static
Adrian Bunk [Mon, 5 Nov 2007 17:07:26 +0000]
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>

11 years agoV4L/DVB (6576): cx88-mpeg.c: make 4 functions static
Adrian Bunk [Mon, 5 Nov 2007 17:07:22 +0000]
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>

11 years agoV4L/DVB (6575): cx23885/: cleanups
Adrian Bunk [Mon, 5 Nov 2007 17:07:20 +0000]
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>

11 years agoV4L/DVB (6574): common/ir-functions.c: make a function static
Adrian Bunk [Mon, 5 Nov 2007 17:07:18 +0000]
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>

11 years agoV4L/DVB (6573): unexport flexcop_reset_block_300
Adrian Bunk [Mon, 5 Nov 2007 17:06:52 +0000]
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>

11 years agoV4L/DVB (6572): dvb-usb/vp702x.c: cleanups
Adrian Bunk [Mon, 5 Nov 2007 17:06:47 +0000]
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>

11 years agoV4L/DVB (6571): dvb-usb/gp8psk.c: #if 0 gp8psk_bcm4500_reload()
Adrian Bunk [Mon, 5 Nov 2007 17:06:41 +0000]
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>

11 years agoV4L/DVB (6570): core/dvb_ringbuffer.c: remove unused exports
Adrian Bunk [Mon, 5 Nov 2007 17:06:38 +0000]
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>

11 years agoV4L/DVB (6569): bt8xx/dst.c: make code static
Adrian Bunk [Mon, 5 Nov 2007 17:06:31 +0000]
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>

11 years agoV4L/DVB (6564): Move check before lock
Roel Kluin [Tue, 6 Nov 2007 13:25:16 +0000]
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>

11 years agoV4L/DVB (6563): tda8290: optimize for loop in tda829x_probe function
Michael Krufky [Mon, 5 Nov 2007 12:54:42 +0000]
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>

11 years agoV4L/DVB (6562): Make HVR900 to use also tveeprom
Mauro Carvalho Chehab [Mon, 5 Nov 2007 12:30:39 +0000]
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>

11 years agoV4L/DVB (6561): Fix xc2028 get register functions and calls
Mauro Carvalho Chehab [Mon, 5 Nov 2007 12:07:13 +0000]
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>

11 years agoV4L/DVB (6560): Fix a bug when setting tuner type
Mauro Carvalho Chehab [Mon, 5 Nov 2007 11:42:55 +0000]
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>

11 years agoV4L/DVB (6559): Fix a buffer overflow at xc2028_get_reg
Mauro Carvalho Chehab [Mon, 5 Nov 2007 11:41:50 +0000]
V4L/DVB (6559): Fix a buffer overflow at xc2028_get_reg

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6557): tea5767: remove unnecessary warning
Hans Verkuil [Thu, 1 Nov 2007 09:19:39 +0000]
V4L/DVB (6557): tea5767: remove unnecessary warning

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

11 years agoV4L/DVB (6556): tuner: convert to bus-based I2C API
Hans Verkuil [Sun, 4 Nov 2007 14:03:36 +0000]
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>

11 years agoV4L/DVB (6555): tuner: reorder functions to prepare for i2c conversion
Hans Verkuil [Sun, 4 Nov 2007 13:53:09 +0000]
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>

11 years agoV4L/DVB (6553): tuner: replace default_mode_mask
Hans Verkuil [Sun, 4 Nov 2007 13:42:42 +0000]
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>

11 years agoV4L/DVB (6551): tda8290: rule out tda988x before detecting tda8290/tda8295
Michael Krufky [Sun, 4 Nov 2007 14:03:22 +0000]
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>

11 years agoV4L/DVB (6550): tda8290: return -ENODEV on probe failures
Michael Krufky [Sun, 4 Nov 2007 13:51:28 +0000]
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>

11 years agoV4L/DVB(6548b) Fix compilation for em28xx
Mauro Carvalho Chehab [Fri, 25 Jan 2008 13:01:41 +0000]
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>

11 years agoV4L/DVB(6548a) Fix compilation for TDA8290
Mauro Carvalho Chehab [Fri, 25 Jan 2008 13:01:40 +0000]
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>