safe/jmp/linux-2.6
13 years agoV4L/DVB: drivers/media/video: move dereference after NULL test
Julia Lawall [Fri, 12 Mar 2010 09:15:32 +0000 (06:15 -0300)]
V4L/DVB: drivers/media/video: move dereference after NULL test

In quickcam_messenger.c, if the NULL test on uvd is needed, then the
dereference should be after the NULL test.

In vpif_display.c, std_info is initialized to the address of a structure
field.  This seems unlikely to be NULL.  Test std_info->stdid instead.

In saa7134-alsa.c, the function is only called from one place, where the
chip argument has already been dereferenced.  On the other hand, if it
should be kept, then card should be initialized after it.

A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):

// <smpl>
@match exists@
expression x, E;
identifier fld;
@@

* x->fld
  ... when != \(x = E\|&x\)
* x == NULL
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Muralidharan Karicheri <m-karicheri2@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ivtv, ivtvfb: Use a define for the output line and field register address
Andy Walls [Sat, 13 Mar 2010 23:37:25 +0000 (20:37 -0300)]
V4L/DVB: ivtv, ivtvfb: Use a define for the output line and field register address

Get rid of the magic number 0x28c0 used in several places in the ivtv and
ivtvfb driver and define the register address to a meaningful name.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ivtv: Avoid hard system lock on decoder output mode change
Ian Armstrong [Sat, 13 Mar 2010 23:22:34 +0000 (20:22 -0300)]
V4L/DVB: ivtv: Avoid hard system lock on decoder output mode change

Changing the decoder video standard just prior to, or during, the output of
the lower field may result in a hard system lock. To avoid this, try to ensure
the firmware call occurs only during the first 100 lines of the top field.

(Minor comment addition and a line break added Andy Walls <awalls@radix.net>.)

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: cx18: Add a component video input to the PVR2100 and DVR3200H card entries
Andy Walls [Sat, 13 Mar 2010 19:40:34 +0000 (16:40 -0300)]
V4L/DVB: cx18: Add a component video input to the PVR2100 and DVR3200H card entries

This is a guess at the proper configuration for component video on the Leadtek
PVR2100 and DVR3100 H.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: cx18: Add support for component video inputs
Andy Walls [Sat, 13 Mar 2010 19:40:03 +0000 (16:40 -0300)]
V4L/DVB: cx18: Add support for component video inputs

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: saa7134: Fix IR support of some ASUS TV-FM 7135 variants
Jean Delvare [Mon, 15 Mar 2010 01:57:56 +0000 (22:57 -0300)]
V4L/DVB: saa7134: Fix IR support of some ASUS TV-FM 7135 variants

Some variants of the ASUS TV-FM 7135 are handled as the ASUSTeK P7131
Analog (card=146). However, by the time we find out, some
card-specific initialization is missed. In particular, the fact that
the IR is GPIO-based. Set it when we change the card type, and run
saa7134_input_init1().

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: replace occurences of req05 magic by a naming alias
Mauro Carvalho Chehab [Thu, 11 Mar 2010 13:26:45 +0000 (10:26 -0300)]
V4L/DVB: tm6000: replace occurences of req05 magic by a naming alias

Yet another naming replace magic thanks to perl scripts. This time, it
is done with:

cat tm6000-regs.h |perl -ne 'if (m/(TM6010_REQ[^\s]+)\s+0x([a-f0-9]+)\,
0x([a-f0-9]+)/) { $name="$1"; $req=$2; $val=$3; printf
"s/REQ_${req}_SET_GET_USBREG, 0x[0]*$3,/$1,/\n" }'  >a; for i in tm*.c;
do sed -f a $i >b && mv b $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add request to registers of the group 05
Mauro Carvalho Chehab [Thu, 11 Mar 2010 13:26:45 +0000 (10:26 -0300)]
V4L/DVB: tm6000: add request to registers of the group 05

Yet another script magic. This time, the change were generated by this
script:

cat tm6000-regs.h |perl -ne 'if (m/^(\#define TM6010_REQ)(05)([^\s]+)(\s+)0x([A-F0-9].)/) { \
$name="$1$2$3"; $sp=$4; $req=$2; $val=$5; $val=~tr/A-F/a-f/; \
printf "$name%s0x%s, 0x%s\n", $sp, $req, $val; } else { print $_ }' \
>a; mv a tm6000-regs.h

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: Replace naming convention for registers of req 05 group
Mauro Carvalho Chehab [Thu, 11 Mar 2010 13:26:45 +0000 (10:26 -0300)]
V4L/DVB: tm6000: Replace naming convention for registers of req 05 group

After looking at the "magic" registers, it is clear that usb registers
belong to request 5.

Replace them with this script:

cat /tmp/reg3 |perl -ne 'if (m/define (TM6000_U_)([^\s]+)\s+0x([A-F0-9].)/) { \
$name=$2; $val=$3; printf "s,$1$2,TM6010_REQ05_R%s_%s,g\n", $val, $name; }' >a;
sed -f a tm6000-regs.h >b; mv b tm6000-regs.h

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: Replace all magic values by a register alias
Mauro Carvalho Chehab [Thu, 11 Mar 2010 13:26:46 +0000 (10:26 -0300)]
V4L/DVB: tm6000: Replace all magic values by a register alias

Instead of using magic pairs of req/reg, replace them by the defined
values.

This patch were generated by the following script:

cat tm6000-regs.h |perl -ne 'if (m/(TM6010_REQ[^\s]+)\s+0x([a-f0-9]+)\,
0x([a-f0-9]+)/) { $name="$1"; $req=$2; $val=$3; printf
"s/REQ_${req}_SET_GET_AVREG[_BIT]*, 0x[0]*$3,/$1,/\n" }'  >a; for i in
tm*.c; do sed -f a $i >b && mv b $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: Add request at Req07/Req08 register definitions
Mauro Carvalho Chehab [Thu, 11 Mar 2010 13:26:46 +0000 (10:26 -0300)]
V4L/DVB: tm6000: Add request at Req07/Req08 register definitions

Use a pair Req/Reg for all registers at req07 and req08 groups. This
makes easier to replace them at the code with a script and helps to
avoid using the wrong req with some register.

This change were generated by this script:

if (m/^(\#define TM6010_REQ)([0-9].)([^\s]+)(\s+)0x([A-F0-9].)/) {
$name="$1$2$3"; $sp=$4; $req=$2; $val=$5; $val=~tr/A-F/a-f/; printf
"$name%s0x%s, 0x%s\n", $sp, $req, $val; } else { print $_ }

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: Replace all Req 8 group of regs with another naming convention
Mauro Carvalho Chehab [Thu, 11 Mar 2010 13:26:46 +0000 (10:26 -0300)]
V4L/DVB: tm6000: Replace all Req 8 group of regs with another naming convention

According with the original patch that added the register names, those
are related to tm6010, so name it properly as such. Also, clearly
indicates when a register belongs to Request 0x08 and add its register
value at the name. This makes easier to double check if the proper
register is used along the driver.

This patch were made with the help of this simple perl script, applied
over the definitions of the last register groups:

if (m/define (TM6000_)([^\s]+)\s+0x([A-F0-9].)/) { $name=$2;
$val=$3; printf "s,$1$2,TM6010_REQ08_R%s_%s,g\n", $val, $name; }

And were manually adjusted to fix a few minor issues.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: Replace all Req 7 group of regs with another naming convention
Mauro Carvalho Chehab [Thu, 11 Mar 2010 13:26:46 +0000 (10:26 -0300)]
V4L/DVB: tm6000: Replace all Req 7 group of regs with another naming convention

According with the original patch that added the register names, those
are related to tm6010, so name it properly as such. Also, clearly
indicates when a register belongs to Request 0x07 and add its register
value at the name. This makes easier to double check if the proper
register is used along the driver.

This patch were made with the help of this simple perl script:

if (m/define (TM6000_)([^\s]+)\s+0x([A-F0-9].)/) { $name=$2; $val=$3;
printf "s,$1$2,TM6010_REQ07_R%s_%s,g\n", $val, $name; }

And were manually adjusted to fix a few minor issues.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dvb-usb: enable specifying a separate generic bulk ctrl response endpoint
Michael Krufky [Mon, 1 Feb 2010 00:06:10 +0000 (21:06 -0300)]
V4L/DVB: dvb-usb: enable specifying a separate generic bulk ctrl response endpoint

Some DVB USB devices use a separate endpoint for responses to control
messages sent with bulk transfers via the generic_bulk_ctrl_endpoint.
When generic_bulk_ctrl_endpoint_response is set, it will be used instead
of the generic_bulk_ctrl_endpoint when reading usb responses in the
dvb_usb_generic_rw helper function.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Reviewed-by: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ir-core: export driver name used by IR via uevent
Mauro Carvalho Chehab [Sat, 13 Mar 2010 00:18:14 +0000 (21:18 -0300)]
V4L/DVB: ir-core: export driver name used by IR via uevent

Now, both driver and keytable names are exported to userspace. This
will help userspace to decide when a table need to be replaced
by another one.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ir-core: Export IR name via uevent
Mauro Carvalho Chehab [Fri, 12 Mar 2010 14:50:17 +0000 (11:50 -0300)]
V4L/DVB: ir-core: Export IR name via uevent

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ir-core: Add a macro to properly create IR tables
Mauro Carvalho Chehab [Fri, 12 Mar 2010 14:40:13 +0000 (11:40 -0300)]
V4L/DVB: ir-core: Add a macro to properly create IR tables

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ir: use a real device instead of a virtual class
Mauro Carvalho Chehab [Thu, 11 Mar 2010 15:41:56 +0000 (12:41 -0300)]
V4L/DVB: ir: use a real device instead of a virtual class

Change the ir-sysfs approach to create irrcv0 as a device, instead of
using class_dev. Also, change the way input is registered, in order
to make its parent to be the irrcv device.

Due to this change, now the event device is created under
/sys/class/ir/irrcv class:

/sys/class/irrcv/irrcv0/
|-- current_protocol
|-- device -> ../../../1-3
|-- input9
|   |-- capabilities
|   |   |-- abs
...

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add new hybrid-stick
Stefan Ringel [Wed, 10 Mar 2010 17:57:57 +0000 (14:57 -0300)]
V4L/DVB: tm6000: add new hybrid-stick

-add Hauppauge WinTV HVR 900H/WinTV USB2-Stick
vid/pid
0x2040/6601
0x2040/6610
0x2040/6611

-add Terratec Cinergy Hybrid-Stick
vid/pid
0x0ccd/0x00a5

-add Twinhan TU501(704D1)
vid/pid
0x13d3/0x3240
0x13d3/0x3241
0x13d3/0x3243
0x13d3/0x3264

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: Fix bad whitespacing
Mauro Carvalho Chehab [Thu, 11 Mar 2010 04:58:12 +0000 (01:58 -0300)]
V4L/DVB: Fix bad whitespacing

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Update copyright info
Max Thrun [Sat, 27 Feb 2010 20:20:28 +0000 (17:20 -0300)]
V4L/DVB: gspca - ov534: Update copyright info

Signed-off-by: Max Thrun <bear24rw@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Add Powerline Frequency control
Mosalam Ebrahimi [Mon, 8 Mar 2010 16:52:17 +0000 (13:52 -0300)]
V4L/DVB: gspca - ov534: Add Powerline Frequency control

Note that setting this options to 50Hz can reduce the framerate, so it is
still disabled (60Hz) by default.

Signed-off-by: Mosalam Ebrahimi <m.ebrahimi@ieee.org>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Cosmetics: fix indentation and hex digits
Antonio Ospite [Mon, 1 Mar 2010 11:54:33 +0000 (08:54 -0300)]
V4L/DVB: gspca - ov534: Cosmetics: fix indentation and hex digits

* Indent with tabs, not with spaces, nor with mixed style.
  * Less indentation for controls index comments.
  * Use lowercase hex digits.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Fix unsetting hflip and vflip bits
Max Thrun [Sat, 27 Feb 2010 20:20:25 +0000 (17:20 -0300)]
V4L/DVB: gspca - ov534: Fix unsetting hflip and vflip bits

Also set default values unconditionally, for readability.

Signed-off-by: Max Thrun <bear24rw@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Fixes for sharpness control
Max Thrun [Sat, 27 Feb 2010 20:20:24 +0000 (17:20 -0300)]
V4L/DVB: gspca - ov534: Fixes for sharpness control

* Adjust comments for sharpness control
  * Set default value unconditionally, for readability

Signed-off-by: Max Thrun <bear24rw@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Fix Auto White Balance control
Max Thrun [Sat, 27 Feb 2010 20:20:23 +0000 (17:20 -0300)]
V4L/DVB: gspca - ov534: Fix Auto White Balance control

Set only the needed bits for AWB, and enable it by default.

Signed-off-by: Max Thrun <bear24rw@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Fix and document setting manual exposure
Antonio Ospite [Mon, 1 Mar 2010 11:53:34 +0000 (08:53 -0300)]
V4L/DVB: gspca - ov534: Fix and document setting manual exposure

Document that even if the state is a u8 value, both MSB and LSB are set
as sd->exposure represents half of the value we are going to set into
registers.

Skip setting exposure when AEC is enabled.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Add Auto Exposure
Max Thrun [Sat, 27 Feb 2010 20:20:21 +0000 (17:20 -0300)]
V4L/DVB: gspca - ov534: Add Auto Exposure

This also makes manual exposure actually work: it never worked before
because AEC was always enabled.

Signed-off-by: Max Thrun <bear24rw@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Fix autogain control, enable it by default
Max Thrun [Sat, 27 Feb 2010 20:20:20 +0000 (17:20 -0300)]
V4L/DVB: gspca - ov534: Fix autogain control, enable it by default

* Use 'agc' instead of 'autogain' in the code so to align the naming
    as in AEC/AWB.
  * Tweak brightness and contrast default values.
  * Fix setting/resetting registers values for AGC.
  * Set actual gain back when disabling AGC.
  * Skip setting GAIN register when AGC is enabled.
  * Enable AGC by default.

Note that as Auto Gain Control is now enabled by default, if you are
using the driver for visual computing applications you might need to
disable it explicitly in your software.

Signed-off-by: Max Thrun <bear24rw@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - ov534: Remove hue control
Antonio Ospite [Sat, 27 Feb 2010 20:20:19 +0000 (17:20 -0300)]
V4L/DVB: gspca - ov534: Remove hue control

Hue control doesn't work and the sensor datasheet is not clear about how
to set hue properly.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca- ov534: Remove ambiguous controls
Max Thrun [Sat, 27 Feb 2010 20:20:18 +0000 (17:20 -0300)]
V4L/DVB: gspca- ov534: Remove ambiguous controls

Remove Blue/Red Channel Target Value, they are meant for Black Level
Calibration but it is not completely clear how to use them.

Signed-off-by: Max Thrun <bear24rw@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ngene: Add support for cineS2 v5 and SaTiX-S2 Dual v2
Oliver Endriss [Wed, 10 Mar 2010 15:46:46 +0000 (12:46 -0300)]
V4L/DVB: ngene: Add support for cineS2 v5 and SaTiX-S2 Dual v2

Add support for
- Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
- Mystique SaTiX-S2 Dual (v2)

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: drivers/media: drop redundant memset
Julia Lawall [Tue, 9 Mar 2010 21:13:49 +0000 (18:13 -0300)]
V4L/DVB: drivers/media: drop redundant memset

The region set by the call to memset is immediately overwritten by the
subsequent call to memcpy.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e1,e2,e3,e4;
@@

- memset(e1,e2,e3);
  memcpy(e1,e4,e3);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: stv090x: Add some notes about the internal tuner I/O control
Manu Abraham [Sat, 13 Feb 2010 20:06:14 +0000 (17:06 -0300)]
V4L/DVB: stv090x: Add some notes about the internal tuner I/O control

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: Budget/STV090x/STV6110x: Initialize the demodulator immediately after the...
Andreas Regel [Sat, 13 Feb 2010 19:48:07 +0000 (16:48 -0300)]
V4L/DVB: Budget/STV090x/STV6110x: Initialize the demodulator immediately after the tuner is attached

Signed-off-by: Andreas Regel <andreas.regel@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: [STV090x] Use gate control, while tuner is being accessed
Manu Abraham [Sat, 23 Jan 2010 09:05:37 +0000 (06:05 -0300)]
V4L/DVB: [STV090x] Use gate control, while tuner is being accessed

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: [STV090x, STV6110x] Use tuner sleep within the demodulator control
Manu Abraham [Sat, 23 Jan 2010 08:49:08 +0000 (05:49 -0300)]
V4L/DVB: [STV090x, STV6110x] Use tuner sleep within the demodulator control

Oliver Endriss <o.endriss@gmx.de> pointed out:
Imho not a good idea, as the frontend thread calls
- fe->ops.tuner_ops.init
- fe->ops.tuner_ops.sleep

If you remove fe->ops.i2c_gate_ctrl, init and sleep will fail,
because gate_ctrl was never called...

--

Signed-off-by: Manu Abraham <manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: [STV090x] Code simplification
Manu Abraham [Fri, 22 Jan 2010 20:19:49 +0000 (17:19 -0300)]
V4L/DVB: [STV090x] Code simplification

 - Remove a redundant exported gate control function

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: AZ6027: Fix initialization for some cards
Oleg Roitburd [Fri, 26 Feb 2010 12:47:16 +0000 (09:47 -0300)]
V4L/DVB: AZ6027: Fix initialization for some cards

Also add in some more device ID's

Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: AZ6027: Add support for Technisat V1 device
Oleg Roitburd [Thu, 25 Feb 2010 20:19:31 +0000 (17:19 -0300)]
V4L/DVB: AZ6027: Add support for Technisat V1 device

Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: cx2341x: Remove temporal filter control restriction
Ian Armstrong [Sun, 7 Mar 2010 00:43:04 +0000 (21:43 -0300)]
V4L/DVB: cx2341x: Remove temporal filter control restriction

Since the change that stops the CX23415/6 firmware-intiiated secondary stream
appears to fix the temporal filter, it's now fully re-enabled for all capture
resolutions.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ivtv: Really stop capture on device close
Ian Armstrong [Sun, 7 Mar 2010 00:37:04 +0000 (21:37 -0300)]
V4L/DVB: ivtv: Really stop capture on device close

When a capture is started, the firmware also appears to start a secondary
stream. Unless this secondary stream is also stopped, the encoder will remain
active and not reinitialise for the next capture. Unfortunately, setting up
the video source can glitch the encoder and result in undesirable effects that
this initialisation will clear.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: ivtv: Combine capture start delays into a single delay
Andy Walls [Sun, 7 Mar 2010 00:08:35 +0000 (21:08 -0300)]
V4L/DVB: ivtv: Combine capture start delays into a single delay

Combine the two 150 ms delays into a single 300 ms delay.  Ian Armstrong has
noted that the delay between CX2341X_ENC_INITIALIZE_INPUT and
CX2341X_ENC_START_CAPTURE can cause problems if the temporal filter is allowed
to be enabled.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: configurable IRQ from CAM
Abylay Ospan [Sat, 6 Mar 2010 18:46:39 +0000 (15:46 -0300)]
V4L/DVB: configurable IRQ from CAM

IRQ from CAM disabled by default. In some environment enabled IRQ can cause of
machine freeze.

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: get_frontend for STV0900
Abylay Ospan [Sat, 6 Mar 2010 18:05:26 +0000 (15:05 -0300)]
V4L/DVB: get_frontend for STV0900

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9015: support for KWorld TV Stick II (395UR)
Antti Palosaari [Mon, 1 Mar 2010 17:06:52 +0000 (14:06 -0300)]
V4L/DVB: af9015: support for KWorld TV Stick II (395UR)

Add USB ID 1b80:e39a for KWorld TV Stick II (395UR).

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9015: support for KWorld USB DVB-T Stick Mobile (UB383-T)
Antti Palosaari [Mon, 1 Mar 2010 16:50:40 +0000 (13:50 -0300)]
V4L/DVB: af9015: support for KWorld USB DVB-T Stick Mobile (UB383-T)

Add USB ID 1b80:e383 for KWorld USB DVB-T Stick Mobile (UB383-T).

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: s2255drv: support for frame skipping
Dean Anderson [Mon, 8 Mar 2010 23:04:48 +0000 (20:04 -0300)]
V4L/DVB: s2255drv: support for frame skipping

adds hardware frame skipping using VIDIOC_S_PARM ioctl.
adds support for VIDIOC_ENUM_FRAMEINTERVALS.

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca cpia1: make local functions static
Márton Németh [Sun, 7 Mar 2010 06:33:45 +0000 (03:33 -0300)]
V4L/DVB: gspca cpia1: make local functions static

Make the local functions static. Note that the function command_setlights() is
currently not called from anywhere.

This will remove the following sparse warnings (see "make C=1"):
 * symbol 'command_setformat' was not declared. Should it be static?
 * symbol 'command_setcolourparams' was not declared. Should it be static?
 * symbol 'command_setapcor' was not declared. Should it be static?
 * symbol 'command_setvloffset' was not declared. Should it be static?
 * symbol 'command_setexposure' was not declared. Should it be static?
 * symbol 'command_setcolourbalance' was not declared. Should it be static?
 * symbol 'command_setcompressiontarget' was not declared. Should it be static?
 * symbol 'command_setyuvtresh' was not declared. Should it be static?
 * symbol 'command_setcompressionparams' was not declared. Should it be static?
 * symbol 'command_setcompression' was not declared. Should it be static?
 * symbol 'command_setsensorfps' was not declared. Should it be static?
 * symbol 'command_setflickerctrl' was not declared. Should it be static?
 * symbol 'command_setecptiming' was not declared. Should it be static?
 * symbol 'command_pause' was not declared. Should it be static?
 * symbol 'command_resume' was not declared. Should it be static?
 * symbol 'command_setlights' was not declared. Should it be static?

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: fix broken I2C IR for Beholder
Dmitri Belimov [Thu, 4 Mar 2010 05:40:37 +0000 (02:40 -0300)]
V4L/DVB: fix broken I2C IR for Beholder

Fix broken I2C IR for TV cards of Beholder.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: s2255drv: Add support for 2257 device
Dean Anderson [Fri, 5 Mar 2010 22:59:48 +0000 (19:59 -0300)]
V4L/DVB: s2255drv: Add support for 2257 device

2257 is 2255 with 2 svideo inputs

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: s2255drv: cleanup of V4L2 controls
Dean Anderson [Fri, 5 Mar 2010 17:29:09 +0000 (14:29 -0300)]
V4L/DVB: s2255drv: cleanup of V4L2 controls

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: s2255drv: fixes for big endian arch
Dean Anderson [Thu, 4 Mar 2010 23:47:33 +0000 (20:47 -0300)]
V4L/DVB: s2255drv: fixes for big endian arch

s2255drv fixes for big endian architecture

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: em28xx: Support for Kworld VS-DVB-T 323UR
Antonio Larrosa [Fri, 5 Mar 2010 01:19:48 +0000 (22:19 -0300)]
V4L/DVB: em28xx: Support for Kworld VS-DVB-T 323UR

This patch adapts the changes submitted by Dainius Ridzevicius to the
linux-media mailing list on 8/14/09, to the current sources in order
to make the Kworld VS-DVB-T 323UR usb device work.

I also removed the "not validated" flag since I own the device and validated
that it works fine after the patch is applied.

Thanks to Devin Heitmueller for his guidance with the code.

Signed-off-by: Antonio Larrosa <larrosa@kde.org>
Acked-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: s2255drv: adding video input status capability
Dean Anderson [Wed, 3 Mar 2010 22:39:19 +0000 (19:39 -0300)]
V4L/DVB: s2255drv: adding video input status capability

Video status capability for inputs on Sensoray 2255 driver.

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000 register defines
Dmitri Belimov [Tue, 2 Mar 2010 00:24:12 +0000 (21:24 -0300)]
V4L/DVB: tm6000 register defines

Add defines for all registers of the tm6000 module.
This defines made by doc for TM6010, need look docs for TM6000 and TM5600
Some registers can be different.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: Allow to enable TS continuity and TEI check on loaded module
Abylay Ospan [Sat, 6 Mar 2010 17:58:01 +0000 (14:58 -0300)]
V4L/DVB: Allow to enable TS continuity and TEI check on loaded module

Current dvb_demux_tscheck processing doesn't allow to enable check on loaded
module. dvb_demux_tscheck can be enabled only when loading module (
dvb_dmx_init should be called to enable dvb_demux_tscheck ). This patch fix
this issue.

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - cpia1 / sn9c2028: Make control descriptors constant
Jean-François Moine [Sun, 7 Mar 2010 10:18:59 +0000 (07:18 -0300)]
V4L/DVB: gspca - cpia1 / sn9c2028: Make control descriptors constant

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - main: Use ktime instead of jiffies for buffer timestamping
Paulo Assis [Sun, 7 Mar 2010 09:56:56 +0000 (06:56 -0300)]
V4L/DVB: gspca - main: Use ktime instead of jiffies for buffer timestamping

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - sn9c20x: Fix exposure control for HV7131R sensor
German Galkin [Sun, 7 Mar 2010 09:19:02 +0000 (06:19 -0300)]
V4L/DVB: gspca - sn9c20x: Fix exposure control for HV7131R sensor

Make the range of exposure values (0-0x1770) distribute evenly through
HV7131R's exposure control bytes.

Signed-off-by: German Galkin <galkinga@gmail.com>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - t613: Check the result of kmalloc
Jean-François Moine [Sun, 7 Mar 2010 08:58:55 +0000 (05:58 -0300)]
V4L/DVB: gspca - t613: Check the result of kmalloc

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - pac207: Let all pac207 ctrls have a coherent naming
Erik Andrén [Sun, 7 Mar 2010 08:13:49 +0000 (05:13 -0300)]
V4L/DVB: gspca - pac207: Let all pac207 ctrls have a coherent naming

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: firedtv: correct version number and current/next in CA_PMT
Henrik Kurelid [Tue, 21 Jul 2009 16:45:50 +0000 (13:45 -0300)]
V4L/DVB: firedtv: correct version number and current/next in CA_PMT

The version number in the CA_PMT message sent to the hardware was
alwaysed set to zero. This could cause problems if the PMT would
change during decryption of a channel since the new CA_PMT would have
the same version number as the old. The version number is now copied
from the original PMT.

Signed-off-by: Henrik Kurelid <henrik@kurelid.se>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: az6027: remove redundant condition check
Márton Németh [Mon, 1 Mar 2010 07:10:52 +0000 (04:10 -0300)]
V4L/DVB: az6027: remove redundant condition check

The condition (msg[i].addr == 0xd0) is checked twice the second one
is not necessary.

This will remove the following compiler warning:
   az6027.c: In function 'az6027_i2c_xfer':
   az6027.c:942: warning: 'index' may be used uninitialized in this function
   az6027.c:943: warning: 'value' may be used uninitialized in this function
   az6027.c:944: warning: 'length' may be used uninitialized in this function
   az6027.c:945: warning: 'req' may be used uninitialized in this function

Signed-off-by: Márton Németh <nm127@freemail.hu>
Cc: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tlg2300: make local variables and functions static
Márton Németh [Mon, 1 Mar 2010 06:31:02 +0000 (03:31 -0300)]
V4L/DVB: tlg2300: make local variables and functions static

Make the local variables and functions static. Some of them are not exported by their
symbol name but used trough other means. For example a pointer of the operation
structure is passed through a function call.

This will remove the following sparse warnings (see "make C=1"):
 * pd-video.c:20:5: warning: symbol 'usb_transfer_mode' was not declared. Should it be static?
 * pd-video.c:621:5: warning: symbol 'fire_all_urb' was not declared. Should it be static?
 * pd-video.c:881:5: warning: symbol 'vidioc_s_std' was not declared. Should it be static?
 * pd-video.c:1024:5: warning: symbol 'vidioc_g_audio' was not declared. Should it be static?
 * pd-video.c:1033:5: warning: symbol 'vidioc_s_audio' was not declared. Should it be static?
 * pd-video.c:1193:5: warning: symbol 'usb_transfer_stop' was not declared. Should it be static?
 * pd-video.c:1522:14: warning: symbol 'pd_video_poll' was not declared. Should it be static?
 * pd-video.c:1528:9: warning: symbol 'pd_video_read' was not declared. Should it be static?
 * pd-radio.c:164:5: warning: symbol 'tlg_fm_vidioc_g_tuner' was not declared. Should it be static?
 * pd-radio.c:206:5: warning: symbol 'fm_get_freq' was not declared. Should it be static?
 * pd-radio.c:249:5: warning: symbol 'fm_set_freq' was not declared. Should it be static?
 * pd-radio.c:261:5: warning: symbol 'tlg_fm_vidioc_g_ctrl' was not declared. Should it be static?
 * pd-radio.c:267:5: warning: symbol 'tlg_fm_vidioc_g_exts_ctrl' was not declared. Should it be static?
 * pd-radio.c:288:5: warning: symbol 'tlg_fm_vidioc_s_exts_ctrl' was not declared. Should it be static?
 * pd-radio.c:315:5: warning: symbol 'tlg_fm_vidioc_s_ctrl' was not declared. Should it be static?
 * pd-radio.c:321:5: warning: symbol 'tlg_fm_vidioc_queryctrl' was not declared. Should it be static?
 * pd-radio.c:340:5: warning: symbol 'tlg_fm_vidioc_querymenu' was not declared. Should it be static?
 * pd-main.c:58:12: warning: symbol 'firmware_name' was not declared. Should it be static?
 * pd-main.c:59:19: warning: symbol 'poseidon_driver' was not declared. Should it be static?

Signed-off-by: Márton Németh <nm127@freemail.hu>
Acked-by: Huang Shijie <shijie8@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: nGene: use NULL when pointer is needed
Márton Németh [Sun, 28 Feb 2010 14:34:35 +0000 (11:34 -0300)]
V4L/DVB: nGene: use NULL when pointer is needed

Use NULL when calling a function with pointer parameter, initializing a
pointer and returning a pointer. This will remove the following sparse
warning at different locations (see "make C=1"):
 * warning: Using plain integer as NULL pointer

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tlg2300: cleanups when power management is not configured
Márton Németh [Sun, 28 Feb 2010 14:19:47 +0000 (11:19 -0300)]
V4L/DVB: tlg2300: cleanups when power management is not configured

When power management is not configured (CONFIG_PM) then some code is no longer
necessary.

This patch will remove the following compiler warnings:
 * pd-dvb.c: In function 'poseidon_fe_release':
 * pd-dvb.c:101: warning: unused variable 'pd'
 * pd-video.c:14: warning: 'pm_video_suspend' declared 'static' but never defined
 * pd-video.c:15: warning: 'pm_video_resume' declared 'static' but never defined

Signed-off-by: Márton Németh <nm127@freemail.hu>
Acked-by: Huang Shijie <shijie8@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: cx88: increase BUFFER_TIMEOUT to 2 seconds
Marton Balint [Wed, 24 Feb 2010 16:23:36 +0000 (13:23 -0300)]
V4L/DVB: cx88: increase BUFFER_TIMEOUT to 2 seconds

When temporarily there is no video signal, sometimes it takes more than 0.5
secs for the cx88 chip to generate a single frame. If a dma timeout occurs
during recording, it confuses the recording application (at least mencoder)
and the recording stops.

Since there is already an #if 0 for 2 seconds buffer timeout in the code
at the -hg development tree, re-enabling that seemed the most simple
solution.

Signed-off-by: Marton Balint <cus@fazekas.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: au8522: fix case where we don't perform the first tune after going digital
Devin Heitmueller [Thu, 18 Feb 2010 01:51:46 +0000 (22:51 -0300)]
V4L/DVB: au8522: fix case where we don't perform the first tune after going digital

Address a problem found in MythTV where if we are in digital mode, switch to
analog mode, and the switch back to digital mode, the first tuning request
after switching back to digital mode gets dropped.  This is because the au8522
maintains internal state, and would think the demod was already tuned to the
target frequency.

Thanks to Zaphod Beeblebrox for reporting this issue.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: au8522: fix race condition in switching from digital to analog mode
Devin Heitmueller [Thu, 18 Feb 2010 01:47:55 +0000 (22:47 -0300)]
V4L/DVB: au8522: fix race condition in switching from digital to analog mode

With applications like MythTV, switching inputs results in closing the digital
side and then immediately opening the analog side.  This exposes a race
condition where the dvb_frontend kernel thread powers down the chip and closes
the i2c gate even though we're in the middle of bringing up the analog part
of the chip (since the shutdown of the dvb_frontend kernel thread occurs
asychronously).

Introduce a construct to keep track of what mode we're in, and drop requests
to power down or management the gate if we've already switched to analog mode.

Thanks to Zaphod Beeblebrox for reporting this issue.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: mt9t031: use runtime pm support to restore ADDRESS_MODE registers
Valentin Longchamp [Tue, 9 Feb 2010 10:59:12 +0000 (07:59 -0300)]
V4L/DVB: mt9t031: use runtime pm support to restore ADDRESS_MODE registers

If the platform hooks are provided, soc_camera powers off the device
on close and powers it on on open. This resets the ADDRESS_MODE registers
which then can be different to the value the driver has computed for them.

This patch setups runtime pm usage for mt9t031 and uses the resume function
to write the ADDRESS_MODE registers in order to fix the above described
problem.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: soc-camera: add runtime pm support for subdevices
Mauro Carvalho Chehab [Tue, 18 May 2010 03:46:09 +0000 (00:46 -0300)]
V4L/DVB: soc-camera: add runtime pm support for subdevices

To save power soc-camera powers subdevices down, when they are not in use,
if this is supported by the platform. However, the V4L standard dictates,
that video nodes shall preserve configuration between uses. This requires
runtime power management, which is implemented by this patch. It allows
subdevice drivers to specify their runtime power-management methods, by
assigning a type to the video device.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: The first two parameters of soc_camera_limit_side() are usually pointers...
Márton Németh [Wed, 24 Feb 2010 20:13:29 +0000 (17:13 -0300)]
V4L/DVB: The first two parameters of soc_camera_limit_side() are usually pointers  to struct v4l2_rect elements. They are signed, so adjust the prototype  accordingly

This will remove the following sparse warning (see "make C=1"):

 * incorrect type in argument 1 (different signedness)
       expected unsigned int *start
       got signed int *<noident>

as well as a couple more signedness mismatches.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: bugfix reading problems with demodulator zl10353
Stefan Ringel [Mon, 22 Feb 2010 17:35:06 +0000 (14:35 -0300)]
V4L/DVB: tm6000: bugfix reading problems with demodulator zl10353

Reading from zl10353 with tm6000 has a bug. For example:

regs  w/o patch  with patch

0x06     0x00        0x7f
0x07     0x33        0x30
0x08     0x00        0x00
0x09     0x58        0x50
0x0f     0x31        0x28
0x10     0x00        0x84

This patch provides the workaround for the bug

[mchehab@redhat.com: Fix merge conflict and add a comment at the workaround]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add send and recv function
Stefan Ringel [Mon, 22 Feb 2010 17:35:05 +0000 (14:35 -0300)]
V4L/DVB: tm6000: add send and recv function

Split the i2c send and receive functions on separate functions

[mchehab@redhat.com: CodingStyle and fix the logic for more than 2 read values]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: fix some info messages
Dmitri Belimov [Mon, 22 Feb 2010 09:32:15 +0000 (06:32 -0300)]
V4L/DVB: tm6000: fix some info messages

Fix some messages for add information about TM6010

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: fix i2c addr test
Stefan Ringel [Sun, 21 Feb 2010 20:10:36 +0000 (17:10 -0300)]
V4L/DVB: tm6000: fix i2c addr test

The i2c addr on I2C core is specified on 7-bit format, but tm6000
expects it on 8-bit format.

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: remove hack.c hack.h, switch to zl10353 module
Stefan Ringel [Mon, 15 Feb 2010 17:37:23 +0000 (14:37 -0300)]
V4L/DVB: tm6000: remove hack.c hack.h, switch to zl10353 module

"hack"  module were a temporary file with some zl10353 magic. This is not needed anymore.
Just remove it.

[mchehab@redhat.com: CodingStyle fixes]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: change version to 0.0.2
Stefan Ringel [Mon, 15 Feb 2010 17:37:24 +0000 (14:37 -0300)]
V4L/DVB: tm6000: change version to 0.0.2

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: special request for all tuner
Stefan Ringel [Mon, 15 Feb 2010 17:37:21 +0000 (14:37 -0300)]
V4L/DVB: tm6000: special request for all tuner

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: reset the numbers of feeds to 8
Stefan Ringel [Mon, 15 Feb 2010 17:37:19 +0000 (14:37 -0300)]
V4L/DVB: tm6000: reset the numbers of feeds to 8

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add card setup for terratec cinergy hybrid
Stefan Ringel [Mon, 15 Feb 2010 17:37:18 +0000 (14:37 -0300)]
V4L/DVB: tm6000: add card setup for terratec cinergy hybrid

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add different tuner reset for terratec
Stefan Ringel [Mon, 15 Feb 2010 17:37:17 +0000 (14:37 -0300)]
V4L/DVB: tm6000: add different tuner reset for terratec

[mchehab@redhat.com: Fix CodingStyle]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add additional init register for tm6010
Stefan Ringel [Mon, 15 Feb 2010 17:37:16 +0000 (14:37 -0300)]
V4L/DVB: tm6000: add additional init register for tm6010

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: fix mutex lock unbalance
Mauro Carvalho Chehab [Fri, 12 Feb 2010 06:52:46 +0000 (03:52 -0300)]
V4L/DVB: tm6000: fix mutex lock unbalance

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: only register after initialized
Mauro Carvalho Chehab [Fri, 12 Feb 2010 06:51:43 +0000 (03:51 -0300)]
V4L/DVB: tm6000: only register after initialized

Udev calls an utility when it senses a v4l device. So, register needs
to be delayed, otherwise it may cause block conditions.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: drivers/staging/tm6000/tm6000-video.c: correct NULL test
Julia Lawall [Thu, 11 Feb 2010 06:30:30 +0000 (03:30 -0300)]
V4L/DVB: drivers/staging/tm6000/tm6000-video.c: correct NULL test

Test the just-allocated value for NULL rather than some other value.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,y;
statement S;
@@

x = \(kmalloc\|kcalloc\|kzalloc\)(...);
(
if ((x) == NULL) S
|
if (
-   y
+   x
       == NULL)
 S
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: fix build errors
Randy Dunlap [Wed, 10 Feb 2010 17:53:57 +0000 (14:53 -0300)]
V4L/DVB: tm6000: fix build errors

(1) tm6000 uses usb_*() interfaces, so it should depend on USB.

drivers/built-in.o: In function `tm6000_usb_disconnect':
tm6000-cards.c:(.text+0x4abb44): undefined reference to `usb_put_dev'
drivers/built-in.o: In function `tm6000_usb_probe':
tm6000-cards.c:(.text+0x4ac923): undefined reference to `usb_get_dev'
tm6000-cards.c:(.text+0x4ac93c): undefined reference to `usb_set_interface'
drivers/built-in.o: In function `tm6000_read_write_usb':
(.text+0x4ad274): undefined reference to `usb_control_msg'
drivers/built-in.o: In function `tm6000_uninit_isoc':
tm6000-video.c:(.text+0x4b00d5): undefined reference to `usb_kill_urb'
tm6000-video.c:(.text+0x4b00e4): undefined reference to `usb_unlink_urb'
tm6000-video.c:(.text+0x4b013c): undefined reference to `usb_buffer_free'
tm6000-video.c:(.text+0x4b014b): undefined reference to `usb_free_urb'
drivers/built-in.o: In function `tm6000_prepare_isoc':
tm6000-video.c:(.text+0x4b0773): undefined reference to `usb_alloc_urb'
tm6000-video.c:(.text+0x4b0835): undefined reference to `usb_buffer_alloc'
drivers/built-in.o: In function `tm6000_irq_callback':
tm6000-video.c:(.text+0x4b1ad3): undefined reference to `usb_submit_urb'
drivers/built-in.o: In function `tm6000_module_init':
tm6000-cards.c:(.init.text+0x24499): undefined reference to `usb_register_driver'
drivers/built-in.o: In function `tm6000_module_exit':
tm6000-cards.c:(.exit.text+0x5cb0): undefined reference to `usb_deregister'

(2) tm6000-alsa uses interfaces from tm6000-core, so when they are
both built as modules, the core interfaces need to be exported.

ERROR: "tm6000_set_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined!
ERROR: "tm6000_get_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined!

Cc: linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, linux-media@vger.kernel.org
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: move board-specific init to tm6000-cards
Mauro Carvalho Chehab [Mon, 8 Feb 2010 10:43:41 +0000 (08:43 -0200)]
V4L/DVB: tm6000: move board-specific init to tm6000-cards

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: Allow tm6000 driver compilation
Mauro Carvalho Chehab [Mon, 8 Feb 2010 10:44:26 +0000 (08:44 -0200)]
V4L/DVB: tm6000: Allow tm6000 driver compilation

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add a different set param values
Stefan Ringel [Fri, 5 Feb 2010 23:06:54 +0000 (20:06 -0300)]
V4L/DVB: tm6000: add a different set param values

Fix several parameter sets, in order to make dvb work

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: Fix several bugs at the usb DVB transfer
Stefan Ringel [Fri, 5 Feb 2010 23:06:52 +0000 (20:06 -0300)]
V4L/DVB: tm6000: Fix several bugs at the usb DVB transfer

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: remove unused function
Stefan Ringel [Fri, 5 Feb 2010 22:57:08 +0000 (19:57 -0300)]
V4L/DVB: tm6000: remove unused function

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add tuner parameter for DVB devices
Stefan Ringel [Fri, 5 Feb 2010 22:57:07 +0000 (19:57 -0300)]
V4L/DVB: tm6000: add tuner parameter for DVB devices

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add tuner callback for dvb frontend
Stefan Ringel [Fri, 5 Feb 2010 22:57:06 +0000 (19:57 -0300)]
V4L/DVB: tm6000: add tuner callback for dvb frontend

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add special usb request to quit i2c tuner transfer
Stefan Ringel [Fri, 5 Feb 2010 22:57:04 +0000 (19:57 -0300)]
V4L/DVB: tm6000: add special usb request to quit i2c tuner transfer

After sending an i2c command, tm6010 needs a reset, in order to properly
work.

While here, add the missing I2C_CLASS_TV_DIGITAL i2c class.

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: typo fix: the identifer string is wrong
Stefan Ringel [Fri, 5 Feb 2010 22:57:03 +0000 (19:57 -0300)]
V4L/DVB: tm6000: typo fix: the identifer string is wrong

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: fix: avoid unregister the driver after success
Stefan Ringel [Fri, 5 Feb 2010 22:57:02 +0000 (19:57 -0300)]
V4L/DVB: tm6000: fix: avoid unregister the driver after success

After successfully running tm6000_init_dev, due to a lack of a return(),
the driver runs the error code, unregistering the device.

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: tm6000: add Terratec Cinergy Hybrid XE
Mauro Carvalho Chehab [Mon, 8 Feb 2010 10:50:02 +0000 (08:50 -0200)]
V4L/DVB: tm6000: add Terratec Cinergy Hybrid XE

[mchehab@redhat.com: moved the defines for the two beholder boards to a separate commit ]

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L-DVB: tm6000: add missing BEHOLDER board definitions
Mauro Carvalho Chehab [Mon, 8 Feb 2010 10:48:22 +0000 (08:48 -0200)]
V4L-DVB: tm6000: add missing BEHOLDER board definitions

The missing of those board definitions break compilation

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>