platform/kernel/linux-amlogic.git
14 years agoV4L/DVB (13991): gspca_mr973010a: Fix cif type 1 cameras not streaming on UHCI contro...
Theodore Kilgore [Fri, 25 Dec 2009 08:15:10 +0000 (05:15 -0300)]
V4L/DVB (13991): gspca_mr973010a: Fix cif type 1 cameras not streaming on UHCI controllers

If you read the mail to Oliver Neukum on the linux-usb list, then you know
that I found a cure for the mysterious problem that the MR97310a CIF "type
1" cameras have been freezing up and refusing to stream if hooked up to a
machine with a UHCI controller.

Namely, the cure is that if the camera is an mr97310a CIF type 1 camera, you
have to send it 0xa0, 0x00. Somehow, this is a timing reset command, or
such. It un-blocks whatever was previously stopping the CIF type 1 cameras
from working on the UHCI-based machines.

Signed-off-by: Theodore Kilgore <kilgota@auburn.edu>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13989): [TDA8261] Fix TDA8261 I2C read bug
Arvo Järve [Sun, 10 Jan 2010 20:15:57 +0000 (17:15 -0300)]
V4L/DVB (13989): [TDA8261] Fix TDA8261 I2C read bug

The TDA8261 driver would crash when reading more than a byte as described.

ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
[ 8.430350] KNC1-2: MAC addr = 00:09:d6:65:2d:91
[ 8.610008] saa7146 (1) saa7146_i2c_writeout [irq]: timed out waiting for end of xfer
[ 8.734457] stb0899_attach: Attaching STB0899
[ 8.768481] tda8261_attach: Attaching TDA8261 8PSK/QPSK tuner
[ 8.768485] DVB: registering adapter 2 frontend 0 (STB0899 Multistandard)...

Once I launch scan-s2:
scan-s2 -vvvv -a 2 -s 1 -l UNIVERSAL /usr/share/dvb/dvb-s/Hotbird-13.0E

I see the following via dmesg:

[ 435.040017] saa7146 (1) saa7146_i2c_writeout [irq]: timed out waiting for end of xfer
[ 435.778648] tda8261_get_bandwidth: Bandwidth=40000000
[ 435.781781] tda8261_get_bandwidth: Bandwidth=40000000
[ 435.783311] tda8261_set_state: Step size=1, Divider=1000, PG=0x793 (1939)
[ 435.783512] tda8261_set_state: Waiting to Phase LOCK
[ 435.810134] tda8261_get_status: Tuner Phase Locked
[ 435.810137] tda8261_set_state: Tuner Phase locked: status=1
[ 435.810139] tda8261_set_frequency: Frequency=1939000
[ 435.810141] tda8261_get_frequency: Frequency=7574
[ 435.830008] tda8261_get_bandwidth: Bandwidth=40000000
[ 436.402814] tda8261_get_bandwidth: Bandwidth=40000000
[ 436.405946] tda8261_get_bandwidth: Bandwidth=40000000
[ 436.407458] general protection fault: 0000 [#1] SMP
[ 436.407527] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
[ 436.407560] CPU 0
[ 436.407601] Modules linked in: tda8261 stb0899 dvb_pll mt352 lnbp21 budget_av saa7146_vv snd_hda_codec_realtek videodev stv0299 v4l1_compat coretemp snd_hda_intel v4l2_compat_ioctl32 i915 videobuf_dma_sg b2c2_flexcop_pci snd_hda_codec budget_ci videobuf_core b2c2_flexcop ir_common w83627ehf drm snd_hwdep cx24123 budget_core hwmon_vid snd_pcm cx24113 dvb_core iptable_filter snd_timer i2c_algo_bit ip_tables saa7146 s5h1420 snd ttpci_eeprom soundcore intel_agp video serio_raw pcspkr lp snd_page_alloc x_tables output parport pata_it8213 e1000e
[ 436.408757] Pid: 1410, comm: kdvb-ad-2-fe-0 Not tainted 2.6.31-14-server #48-Ubuntu C2SBC-Q
[ 436.408818] RIP: 0010:[<ffffffffa00241a1>] [<ffffffffa00241a1>] tda8261_set_state+0x51/0x250 [tda8261]
[ 436.408903] RSP: 0018:ffff88013649bc70 EFLAGS: 00010283
[ 436.408945] RAX: 00000000000f1748 RBX: ffff880138870680 RCX: 0000000000000018
[ 436.408990] RDX: ffff88013649bcd0 RSI: 0000000000000001 RDI: ffff880135273010
[ 436.409035] RBP: ffff88013649bcc0 R08: 0000000000000001 R09: 0000000000000002
[ 436.409081] R10: ffff88013649bc40 R11: 0000000055555556 R12: 00000000001d9638
[ 436.409126] R13: 38ffffffa0261568 R14: 0000000000000000 R15: ffff880135273010
[ 436.409172] FS: 0000000000000000(0000) GS:ffff880028022000(0000) knlGS:0000000000000000
[ 436.409232] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
[ 436.409274] CR2: 00007fff925e4cd8 CR3: 000000013642a000 CR4: 00000000000406f0
[ 436.409320] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 436.409365] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 436.409411] Process kdvb-ad-2-fe-0 (pid: 1410, threadinfo ffff88013649a000, task ffff88013658ad60)
[ 436.409473] Stack:
[ 436.409508] ffff880136ee2af1 00000000bcd5d166 ffff000200000068 0000000035273000
[ 436.409608] <0> 0000000000000001 ffff880135273000 ffffffffa0265260 00003473bc000000
[ 436.409758] <0> 0000000000000000 ffff88013a4e05e0 ffff88013649bd00 ffffffffa025f133
[ 436.409938] Call Trace:
[ 436.409978] [<ffffffffa025f133>] tda8261_set_frequency+0x23/0x70 [budget_av]
[ 436.410027] [<ffffffffa026ed09>] ? stb0899_i2c_gate_ctrl+0x49/0xf0 [stb0899]
[ 436.410074] [<ffffffffa026e259>] ? stb0899_write_reg+0x19/0x20 [stb0899]
[ 436.410121] [<ffffffffa02716e2>] stb0899_dvbs_algo+0x3a2/0x13c8 [stb0899]
[ 436.410170] [<ffffffff813cdd0d>] ? i2c_transfer+0xbd/0x100
[ 436.410215] [<ffffffffa026e13c>] ? stb0899_write_regs+0xac/0x1b0 [stb0899]
[ 436.410262] [<ffffffffa026f239>] stb0899_search+0x489/0x750 [stb0899]
[ 436.410308] [<ffffffff8107d153>] ? down_interruptible+0x33/0x60
[ 436.410360] [<ffffffffa00c34ec>] dvb_frontend_thread+0x57c/0x720 [dvb_core]
[ 436.410407] [<ffffffff81078620>] ? autoremove_wake_function+0x0/0x40
[ 436.410457] [<ffffffffa00c2f70>] ? dvb_frontend_thread+0x0/0x720 [dvb_core]
[ 436.410504] [<ffffffff81078236>] kthread+0xa6/0xb0
[ 436.410547] [<ffffffff810130aa>] child_rip+0xa/0x20
[ 436.410589] [<ffffffff81078190>] ? kthread+0x0/0xb0
[ 436.410631] [<ffffffff810130a0>] ? child_rip+0x0/0x20
[ 436.410672] Code: 00 03 00 00 4c 8b 6b 10 c7 45 cc 00 00 00 00 0f 84 e8 01 00 00 44 8b 22 41 8d 84 24 10 81 f1 ff 3d 80 4f 12 00 0f 87 af 01 00 00 <41> 8b 75 04 31 d2 48 c7 c7 d8 46 02 a0 89 f0 8b 0c 85 f0 45 02
[ 436.411950] RIP [<ffffffffa00241a1>] tda8261_set_state+0x51/0x250 [tda8261]
[ 436.412015] RSP <ffff88013649bc70>
[ 436.412064] ---[ end trace c1d7ae4d9e05c51b ]---

Signed-off-by: Arvo Järve <arvo@softshark.ee>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13988): [STV090x] Configuration parameters adc1_range, adc2_range, tuner_bbgain
Oliver Endriss [Sun, 10 Jan 2010 18:40:28 +0000 (15:40 -0300)]
V4L/DVB (13988): [STV090x] Configuration parameters adc1_range, adc2_range, tuner_bbgain

Add parameters adc1_range, adc2_range and tuner_bbgain to the config struct.
Defaults: adc1_range = adc2_range = 2Vpp, tuner_bbgain = 10db

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13987): [STV090x] Quit processing if the tuner did not lock
Oliver Endriss [Sun, 10 Jan 2010 18:39:45 +0000 (15:39 -0300)]
V4L/DVB (13987): [STV090x] Quit processing if the tuner did not lock

Exit stv090x_algo() if the tuner did not lock. This might happen due to
missing signal or invalid/incomplete tuning parameters.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13986): [STV090x] Disable I2C gate on error
Oliver Endriss [Sun, 10 Jan 2010 18:38:38 +0000 (15:38 -0300)]
V4L/DVB (13986): [STV090x] Disable I2C gate on error

The I2C gate must also be disabled, if a tuner command failed.
Otherwise the tuner mutex would be locked forever.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13985): [STV090x] reset mclk and dev_ver of internal structure after allocating
Andreas Regel [Tue, 5 Jan 2010 22:24:56 +0000 (19:24 -0300)]
V4L/DVB (13985): [STV090x] reset mclk and dev_ver of internal structure after allocating

When mclk is not 0 then it will never be set to the correct value and
the Demodulator will not work.

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>
14 years agoV4L/DVB (13984): [BUDGET] Use a tuner clock output divider of 2 for TT S2-1600.
Andreas Regel [Tue, 5 Jan 2010 22:24:32 +0000 (19:24 -0300)]
V4L/DVB (13984): [BUDGET] Use a tuner clock output divider of 2 for TT S2-1600.

This gives the STV090x and improved clock signal (rectangle instead of sine).

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>
14 years agoV4L/DVB (13983): [STV6110x] add clk_div member to stv6110x_config structure
Andreas Regel [Tue, 5 Jan 2010 22:24:10 +0000 (19:24 -0300)]
V4L/DVB (13983): [STV6110x] add clk_div member to stv6110x_config structure

Using clk_div member of stv6110x_config structure the tuner's clock
output divider can be configured. It is set in stv6110x_attach.

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>
14 years agoV4L/DVB (13982): [STV090x] setup master clock in stv090x_init instead of stv090x_setup.
Andreas Regel [Tue, 5 Jan 2010 22:23:41 +0000 (19:23 -0300)]
V4L/DVB (13982): [STV090x] setup master clock in stv090x_init instead of stv090x_setup.

This is needed when clock input is driven from tuner and an output
divider different from 1 is used.

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>
14 years agoV4L/DVB (13981): [STV6110x] Add a local register map for each instance of the driver.
Andreas Regel [Tue, 5 Jan 2010 22:23:13 +0000 (19:23 -0300)]
V4L/DVB (13981): [STV6110x] Add a local register map for each instance of the driver.

Before there was used a static register map that could lead to issues
when there are are multiple adapters with the STV6110(A).

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>
14 years agoV4L/DVB (13980): [STV6110x] Added function stv6110x_write_regs
Andreas Regel [Tue, 5 Jan 2010 22:22:45 +0000 (19:22 -0300)]
V4L/DVB (13980): [STV6110x] Added function stv6110x_write_regs

The function stv6110x_write_regs is used to write several registers at once.

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>
14 years agoV4L/DVB (13979): [STV090x] Added possibility to set a fixed TS output clock.
Andreas Regel [Tue, 5 Jan 2010 22:22:07 +0000 (19:22 -0300)]
V4L/DVB (13979): [STV090x] Added possibility to set a fixed TS output clock.

This could be useful for p.e. Common Interface applications where data rate is limited.

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>
14 years agoV4L/DVB (13978): [STV090x] set FE_HAS_SIGNAL flag in stv090x_read_status when locked.
Andreas Regel [Tue, 5 Jan 2010 22:21:30 +0000 (19:21 -0300)]
V4L/DVB (13978): [STV090x] set FE_HAS_SIGNAL flag in stv090x_read_status when locked.

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>
14 years agoV4L/DVB (13977): [STV090x] Test for valid frequency before starting to tune
Andreas Regel [Tue, 5 Jan 2010 22:21:02 +0000 (19:21 -0300)]
V4L/DVB (13977): [STV090x] Test for valid frequency before starting to tune

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>
14 years agoV4L/DVB (13976): [STV090x] Added mutex protection around tuner I2C access.
Andreas Regel [Tue, 5 Jan 2010 22:20:21 +0000 (19:20 -0300)]
V4L/DVB (13976): [STV090x] Added mutex protection around tuner I2C access.

With this change it is possible to have the same I2C address for both tuners.

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>
14 years agoV4L/DVB (13975): [STV090x] Added internal structure with shared settings and data.
Andreas Regel [Tue, 5 Jan 2010 22:19:43 +0000 (19:19 -0300)]
V4L/DVB (13975): [STV090x] Added internal structure with shared settings and data.

As the STV0900 features two demodulation paths in one chip there is
some information used by both instances of the driver when used in
dual mode. This information is now shared in an internal structure
referenced by I2C adapter and address.

Do initialisation of the demodulator only once when used in dual mode.
Moved global mutex demod_lock to internal structure.
Moved dev_ver and mclk to internal structure.
Removed unused tuner_refclk from stv090x_state.

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>
14 years agoV4L/DVB (13974): [STV090x] Fix locking reliabilty issues in automatic mode.
Andreas Regel [Tue, 5 Jan 2010 22:18:52 +0000 (19:18 -0300)]
V4L/DVB (13974): [STV090x] Fix locking reliabilty issues in automatic mode.

In automatic S/S2 detection mode, locking of a DVB-S transponder could
fail when coming from a DVB-S2 transponder. This change fixes the issue
by first disabling DVB-S and DVB-S2 mode before enabling it again.

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>
14 years agoV4L/DVB (13936): 22-kHz set_tone fix for NetUP Dual DVB-S2-CI card
Abylay Ospan [Wed, 13 Jan 2010 08:01:56 +0000 (05:01 -0300)]
V4L/DVB (13936): 22-kHz set_tone fix for NetUP Dual DVB-S2-CI card

22-kHz tone can be driven in two ways:
1. LNBH24 can produce 22kHz continuous tone when TEN=1 ( 22 KHz tone output is
always activated ).
2. LNBH24 can reproduce 22kHz tone timings from DSQIN or EXTM pin's when TEN=0.
From LNBH24 datasheet:
"In order to improve design flexibility an external tone input pin is
available (EXTM). The EXTM is a Logic input pin which activates the 22 kHz
tone output, on the VoTX pin, by using the LNBH24 integrated tone generator
(similar to the DSQIN pin function). In fact, the output tone waveform
characteristics will always be internally controlled by the LNBH24 tone
generator and the EXTM signal will be used as a timing control for DiSEqC tone
data encoding on the VoTX output."

In NetUP Dual DVB-S2-CI card 22kHz tone timings on EXTM pin produced by
STV0900 demod:
.set_tone  = stv0900_set_tone

redefine to "set_tone = lnbp21_set_tone" is not correct for "NetUP Dual
DVB-S2-CI card".

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13916): gspca - ov534/ov534_9: Split the ov534 subdriver.
Jean-Francois Moine [Thu, 7 Jan 2010 08:18:16 +0000 (05:18 -0300)]
V4L/DVB (13916): gspca - ov534/ov534_9: Split the ov534 subdriver.

The two sensors ov772x and ov965x have too much differences.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13869): gspca - sn9c20x: Cleanup code.
Jean-Francois Moine [Sat, 19 Dec 2009 10:03:43 +0000 (07:03 -0300)]
V4L/DVB (13869): gspca - sn9c20x: Cleanup code.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13947): add __init/__exit macros to drivers/media/dvb/bt8xx/bt878.c
Peter Huewe [Tue, 22 Dec 2009 08:38:14 +0000 (05:38 -0300)]
V4L/DVB (13947): add __init/__exit macros to drivers/media/dvb/bt8xx/bt878.c

Trivial patch which adds the __init/__exit macros to the module_init/
module_exit functions of

drivers/media/dvb/bt8xx/bt878.c

Please have a look at the small patch and either pull it through
your tree, or please ack' it so Jiri can pull it through the trivial
tree.

Patch against linux-next-tree, 22. Dez 08:38:18 CET 2009
but also present in linus tree.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13969): frontends/si21xx.c: Remove #define TRUE/FALSE, use bool
Joe Perches [Wed, 13 Jan 2010 06:59:15 +0000 (03:59 -0300)]
V4L/DVB (13969): frontends/si21xx.c: Remove #define TRUE/FALSE, use bool

And a little code refactoring/neatening around the removals

Reduces object size a little bit:

new:
$ size drivers/media/dvb/frontends/si21xx.o
   text    data     bss     dec     hex filename
   8984      56    1816   10856    2a68 drivers/media/dvb/frontends/si21xx.o
old:
$ size drivers/media/dvb/frontends/si21xx.o
   text    data     bss     dec     hex filename
   9084      56    1792   10932    2ab4 drivers/media/dvb/frontends/si21xx.o

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13968): cx18, fix potential null dereference
Jiri Slaby [Sun, 10 Jan 2010 08:56:46 +0000 (05:56 -0300)]
V4L/DVB (13968): cx18, fix potential null dereference

Stanse found a potential null dereference in cx18_dvb_start_feed
and cx18_dvb_stop_feed. There is a check for stream being NULL,
but it is dereferenced earlier. Move the dereference after the
check.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Reviewed-by: Andy Walls <awalls@radix.net>
Acked-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir: fix memory leak
Alexander Beregalov [Sat, 9 Jan 2010 16:51:14 +0000 (13:51 -0300)]
V4L/DVB: ir: fix memory leak

Free ir_dev before exit.
Found by cppcheck.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13965): zl10039, jump to error on error
Jiri Slaby [Wed, 6 Jan 2010 22:04:07 +0000 (19:04 -0300)]
V4L/DVB (13965): zl10039, jump to error on error

Stanse found an unreachable statement in zl10039_attach. There is
a `break' followed by `goto error'. Remove that break, so that it
can handle the error.

Cc: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13964): tuner-core, fix memory leak
Jiri Slaby [Wed, 6 Jan 2010 16:45:28 +0000 (13:45 -0300)]
V4L/DVB (13964): tuner-core, fix memory leak

Stanse found a memory leak in tuner_probe. It is not freed/assigned
on all paths. Fix that.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13963): siano, fix memory leak
Jiri Slaby [Wed, 6 Jan 2010 16:45:27 +0000 (13:45 -0300)]
V4L/DVB (13963): siano, fix memory leak

Stanse found a memory leak in smscore_gpio_configure. buffer is not
freed/assigned on all paths. Fix that.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (12930): Wrong variable tested
Roel Kluin [Sun, 3 Jan 2010 17:04:42 +0000 (14:04 -0300)]
V4L/DVB (12930): Wrong variable tested

The return of saa7164_i2caddr_to_reglen() was not tested.

Cc: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13961): em28xx-dvb: fix memleak in dvb_fini()
Francesco Lavra [Thu, 31 Dec 2009 11:47:11 +0000 (08:47 -0300)]
V4L/DVB (13961): em28xx-dvb: fix memleak in dvb_fini()

this patch fixes a memory leak which occurs when an em28xx card with DVB
extension is unplugged or its DVB extension driver is unloaded. In
dvb_fini(), dev->dvb must be freed before being set to NULL, as is done
in dvb_init() in case of error.
Note that this bug is also present in the latest stable kernel release.

Signed-off-by: Francesco Lavra <francescolavra@interfree.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13959): cx23885/cx23885-dvb.c: use %pM to show MAC address
hartleys [Wed, 30 Dec 2009 19:08:57 +0000 (16:08 -0300)]
V4L/DVB (13959): cx23885/cx23885-dvb.c: use %pM to show MAC address

Use the %pM kernel extension to display the MAC address.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13958): tveeprom.c: use %pM to show MAC address
hartleys [Wed, 30 Dec 2009 19:13:10 +0000 (16:13 -0300)]
V4L/DVB (13958): tveeprom.c: use %pM to show MAC address

Use the %pM kernel extension to display the MAC address.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13957): IR: Fix sysfs attributes declaration
Francesco Lavra [Tue, 29 Dec 2009 18:48:04 +0000 (15:48 -0300)]
V4L/DVB (13957): IR: Fix sysfs attributes declaration

This patch fixes the declaration of the sysfs attributes for IR's, which
must be a NULL-terminated array of struct attribute *.
Without this patch, my machine crashes when inserting a DVB card.

Signed-off-by: Francesco Lavra <francescolavra@interfree.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13956): fix weird array index in zl10036.c
Dan Carpenter [Mon, 28 Dec 2009 17:48:49 +0000 (14:48 -0300)]
V4L/DVB (13956): fix weird array index in zl10036.c

I was initially concerned about the weird array index (the 2 bumps
into the next row of the array).  Matthias Schwarzott look at the
datasheet and it turns out it should be zl10036_init_tab[1][0] |= 0x01;

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13954): Correct NULL test
Julia Lawall [Mon, 28 Dec 2009 14:09:55 +0000 (11:09 -0300)]
V4L/DVB (13954): 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>
@r@
identifier f;
@@

f(...) { <+... return NULL; ...+> }

@@
expression *x;
expression y;
identifier r.f;
statement S;
@@

x = f(...);
(
if ((x) == NULL) S
|
if (
-   y
+   x
       == NULL)
 S
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13953): firedtv: add missing NULL pointer check
Stefan Richter [Sat, 26 Dec 2009 00:47:12 +0000 (21:47 -0300)]
V4L/DVB (13953): firedtv: add missing NULL pointer check

If there is ever going to be a FireDTV or FloppyDTV firmware which does
not provide a minimal ASCII textual descriptor for Model_Id --- or if
the descriptor is provided indirectly in a descriptor directory ---
the ieee1394 variant of the device probe of firedtv would dereference a
NULL pointer.  The firewire variant of firedtv's device probe is not
affected.

The fix makes sure that such an unexpected firmware is safely recognized
by fdtv_alloc as an unknown firmware.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13952): gspca: Storage class should be before const qualifier
Tobias Klauser [Wed, 23 Dec 2009 12:53:14 +0000 (09:53 -0300)]
V4L/DVB (13952): gspca: Storage class should be before const qualifier

The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the beginning
of the declaration specifiers in a declaration is an obsolescent
feature.

Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13951): rj54n1cb0: Storage class should be before const qualifier
Tobias Klauser [Wed, 23 Dec 2009 12:53:12 +0000 (09:53 -0300)]
V4L/DVB (13951): rj54n1cb0: Storage class should be before const qualifier

The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the beginning
of the declaration specifiers in a declaration is an obsolescent
feature.

Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13950): usb-friio: Storage class should be before const qualifier
Tobias Klauser [Wed, 23 Dec 2009 12:53:13 +0000 (09:53 -0300)]
V4L/DVB (13950): usb-friio: Storage class should be before const qualifier

The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the beginning
of the declaration specifiers in a declaration is an obsolescent
feature.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13949): Move a dereference below a NULL test
Julia Lawall [Tue, 22 Dec 2009 21:00:07 +0000 (18:00 -0300)]
V4L/DVB (13949): Move a dereference below a NULL test

If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T;
expression E;
identifier i,fld;
statement S;
@@

- T i = E->fld;
+ T i;
  ... when != E
      when != i
  if (E == NULL) S
+ i = E->fld;
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13948): radio: Correct use after free
Julia Lawall [Tue, 22 Dec 2009 20:31:23 +0000 (17:31 -0300)]
V4L/DVB (13948): radio: Correct use after free

It is not clear how to share the unlock in the case where the structure
containing the lock has to be freed.  So the unlock is now duplicated, with
one copy moved before the free.  The unlock label furthermore is no longer
useful and is thus deleted.

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

// <smpl>
@@
expression x,e;
identifier f;
iterator I;
statement S;
@@

*kfree(x);
... when != &x
    when != x = e
    when != I(x,...) S
*x->f
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13946): proc_fops: convert av7110
Alexey Dobriyan [Tue, 22 Dec 2009 00:21:47 +0000 (21:21 -0300)]
V4L/DVB (13946): proc_fops: convert av7110

Drop S_IRUGO, proc entry doesn't contain read hooks.
Drop S_IFREG, simply unnecessary.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13945): Add lost config and PCI ID for card of Beholder
Dmitri Belimov [Mon, 21 Dec 2009 05:00:38 +0000 (02:00 -0300)]
V4L/DVB (13945): Add lost config and PCI ID for card of Beholder

Add lost configuration for our TV card.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13944): vivi: Fix test of unsigned in vivi_create_instance()
Roel Kluin [Wed, 16 Dec 2009 16:06:33 +0000 (13:06 -0300)]
V4L/DVB (13944): vivi: Fix test of unsigned in vivi_create_instance()

video_nr is unsigned so the test did not work.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: use correct size in put_v4l2_window32()
Roel Kluin [Wed, 16 Dec 2009 14:35:45 +0000 (11:35 -0300)]
V4L/DVB: use correct size in put_v4l2_window32()

Although these sizes may be the same it is better to calculate the size of
the source, than the destiny.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13932): em28xx: add PAL support for VBI
Devin Heitmueller [Wed, 25 Nov 2009 02:17:25 +0000 (23:17 -0300)]
V4L/DVB (13932): em28xx: add PAL support for VBI

Make the VBI support work for PAL standards in addition to NTSC.

This work was sponsored by EyeMagnet Limited.

Thanks go out to Andy Walls for providing a CD containing test PAL/VBI captures
and to Steven Toth for providing a PVR-350 to do signal generation with.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13930): dib0700: rework IR logic for firmware 1.20
Devin Heitmueller [Mon, 4 Jan 2010 05:43:19 +0000 (02:43 -0300)]
V4L/DVB (13930): dib0700: rework IR logic for firmware 1.20

When firmware 1.20 was introduced, the dib0700 switched from a polling model
using a USB control message, to the messages being delivered on a USB bulk
pipe.  The code I originally added would do a blocking read on the pipe with a
50ms timeout.  Because the dvb-usb-remote code makes use of the global
workqueue, this resulted in the global workqueue being blocked 50% of the
time.  Also, the synchronous urb_bulk_msg() call would burn excess CPU time
(reflected as an abnormal increase in the system's load average when devices
were connected).

Rework the logic so that we now setup an asynchronous callback on the bulk
pipe, so that we now only handle RC data when it arrives on the pipe.  Note
that we provide a stub function for the RC polling callback so that we can
continue to leverage the shared code in dvb-usb-rc for the setting up of the
input device.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13927): gspca - sonixj: Fix bad video mode for all webcams.
Jean-Francois Moine [Tue, 12 Jan 2010 10:12:43 +0000 (07:12 -0300)]
V4L/DVB (13927): gspca - sonixj: Fix bad video mode for all webcams.

The bug was introduced when adding the sensor adcm1700.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13926): gspca - pac7302: Fix a random USB error.
Jean-Francois Moine [Mon, 11 Jan 2010 18:06:12 +0000 (15:06 -0300)]
V4L/DVB (13926): gspca - pac7302: Fix a random USB error.

When loading the register 0x49 of the page 3, the usb_control_msg() sometimes
fails with error -71 or -62.
This change skips loading the register 0x48.

Tested-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13925): gspca - main: Change the check of the USB video interface.
Jean-Francois Moine [Sun, 10 Jan 2010 19:36:53 +0000 (16:36 -0300)]
V4L/DVB (13925): gspca - main: Change the check of the USB video interface.

Some webcams have many interfaces with the same interface class, so the
previous interface check did not work.
The new code checks if the interface number is zero or the only one.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13924): gspca - sunplus: Optimize and remove unused sequences.
Jean-Francois Moine [Sun, 10 Jan 2010 17:39:24 +0000 (14:39 -0300)]
V4L/DVB (13924): gspca - sunplus: Optimize and remove unused sequences.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13923): gspca - zc3xx: Simplify code.
Jean-Francois Moine [Fri, 8 Jan 2010 11:08:12 +0000 (08:08 -0300)]
V4L/DVB (13923): gspca - zc3xx: Simplify code.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13922): gspca - zc3xx: Switch off the LED on resume.
Jean-Francois Moine [Fri, 8 Jan 2010 11:04:21 +0000 (08:04 -0300)]
V4L/DVB (13922): gspca - zc3xx: Switch off the LED on resume.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13921): gspca - zc3xx: Remove unuseful register write.
Jean-Francois Moine [Fri, 8 Jan 2010 11:03:23 +0000 (08:03 -0300)]
V4L/DVB (13921): gspca - zc3xx: Remove unuseful register write.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13920): gspca - zc3xx: Let default sharpness for sensor pas202b.
Jean-Francois Moine [Fri, 8 Jan 2010 11:02:42 +0000 (08:02 -0300)]
V4L/DVB (13920): gspca - zc3xx: Let default sharpness for sensor pas202b.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13919): gspca - zc3xx: Fix hdcs2020 probe.
Jean-Francois Moine [Fri, 8 Jan 2010 11:01:43 +0000 (08:01 -0300)]
V4L/DVB (13919): gspca - zc3xx: Fix hdcs2020 probe.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13918): gspca - zc3xx: Rename the USB sequences.
Jean-Francois Moine [Fri, 8 Jan 2010 10:06:06 +0000 (07:06 -0300)]
V4L/DVB (13918): gspca - zc3xx: Rename the USB sequences.

The new names tell the image resolution: 'Scale' is the smaller image.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13917): gspca - zc3xx: Cleanup code.
Jean-Francois Moine [Thu, 7 Jan 2010 18:59:12 +0000 (15:59 -0300)]
V4L/DVB (13917): gspca - zc3xx: Cleanup code.

- update copyright and module author
- change __u8/16 to u8/16
- set unsigned the sd sensor
- initialize the controls by macros

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13915): em28xx: fix a typo on RC6 modes
Mauro Carvalho Chehab [Mon, 11 Jan 2010 13:47:33 +0000 (10:47 -0300)]
V4L/DVB (13915): em28xx: fix a typo on RC6 modes

Thanks to: Devin Heitmueller <dheitmueller@kernellabs.com> for double
checking it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13913): saa7127: Add support for generating SECAM output for the SAA712...
Andy Walls [Mon, 4 Jan 2010 02:28:18 +0000 (23:28 -0300)]
V4L/DVB (13913): saa7127: Add support for generating SECAM output for the SAA712[89] chips

This change fixes up saa7127_s_std() generate SECAM out, if the user has
requested a 50 Hz video standard set that only contains a request for SECAM
standards and not PAL.  Only the SAA712[89] chips can generate SECAM, the
SAA712[67] chips cannot.

I was unclear on the burst start and end values - I couldn't figure out
the units - so I left them the same as for the PAL systems.

A the video decoders on both a PVR-350 (SAA7115) and an HVR-1600 (CX23418)
identify the SECAM signal generated by a SAA7129 with this patch as SECAM.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13912): cx18: Fix tuner reset pin in card entry for the Leadtek PVR2100
Sergey Bolshakov [Sun, 3 Jan 2010 00:56:42 +0000 (21:56 -0300)]
V4L/DVB (13912): cx18: Fix tuner reset pin in card entry for the Leadtek PVR2100

Fix the "xceive_pin" setting from "15" to "1" for the PVR2100 -- the same as
the PVR3100H.  This properly resets the XC2028 tuner on the PVR2100.

Sergey's original email report:

Hi.
Seems cx18 module has incorrect .xceive_pin value for card,
as i see lots of i2c errors in dmesg from xc2028.
i'm using 2.6.32.2, my hardware is:

00:09.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418
Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder
[14f1:5b7a]
        Subsystem: LeadTek Research Inc. Device [107d:6f27]
        Flags: bus master, medium devsel, latency 64, IRQ 17
        Memory at f0000000 (32-bit, non-prefetchable) [size=64M]
        Capabilities: [44] Vital Product Data
        Capabilities: [4c] Power Management version 2
        Kernel driver in use: cx18
        Kernel modules: cx18

Following fixes this problem for me, the rest seems working:

Reported-by: Sergey Bolshakov <sbolshakov@altlinux.ru>
Tested-by: Sergey Bolshakov <sbolshakov@altlinux.ru>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13910): cx18: Fix set indextable command to properly select I/P/B index...
Andy Walls [Fri, 1 Jan 2010 16:25:41 +0000 (13:25 -0300)]
V4L/DVB (13910): cx18: Fix set indextable command to properly select I/P/B index entries

The CX18_CPU_SET_INDEXTABLE command was being called with the wrong number
of arguments causing the index table frame type selection mask to be set wrong.
Now the IDX stream properly sends entries for I, P, and B frames.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13909): cx18: Clean up dead code from ivtv once used for IDX processing
Andy Walls [Fri, 1 Jan 2010 01:27:28 +0000 (22:27 -0300)]
V4L/DVB (13909): cx18: Clean up dead code from ivtv once used for IDX processing

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13908): cx18: Add initial working VIDIOC_G_ENC_INDEX ioctl() support
Andy Walls [Fri, 1 Jan 2010 01:09:51 +0000 (22:09 -0300)]
V4L/DVB (13908): cx18: Add initial working VIDIOC_G_ENC_INDEX ioctl() support

VIDIOC_G_ENC_INDEX support see the light of day.
Some notes:
1. With default capture parameters, the CX23418 seems to transfer 192 index
entries (4.5 kB worth) at 10 second intervals.

2. Index streams don't seem to be supported for MPEG 2 TS streams

3. The index entries seem to claim every frame is a B-Frame.  Possible
firmware bug.

4. The cx18 driver does not try to capture an index stream when inserting
sliced VBI into the MPEg stream as the offsets would need fixup.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13907): cx18: Perform automatic rotation of very old, unread IDX buffers
Andy Walls [Thu, 31 Dec 2009 21:27:13 +0000 (18:27 -0300)]
V4L/DVB (13907): cx18: Perform automatic rotation of very old, unread IDX buffers

According to the v4l2 spec, very old MPEG index entries needs to be discarded
in favor of newer index entries.  This change ensures the firmware always has
buffers for index entries at the expense of the oldest unread buffers.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13906): cx18: Start IDX streams automatically as an internal associated...
Andy Walls [Thu, 31 Dec 2009 20:19:25 +0000 (17:19 -0300)]
V4L/DVB (13906): cx18: Start IDX streams automatically as an internal associated stream

This change starts the IDX stream along with the MPG stream as an internal
use (only) stream much like the VBI stream can be started as an internal use
stream for inserting sliced VBI packets.

The IDX stream is not started automatically with an MPEG strem if the IDX
stream is disabled (no buffers allocated) or if sliced VBI insertion is being
performed by the cx18 driver.  The cx18 driver doing sliced VBI insertion
makes the offsets in the IDX stream inaccurate for the final MPEG stream
presented to user space.  Since fixing the IDX offsets ourselves is not easy
and we cannot easily do what ivtv does to fix the offsets, we'll make sliced
VBI insertion and MPEG Index capture mutually exclusive for now.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13905): cx18: Allow MPEG index streams to be started and stopped internally
Andy Walls [Thu, 31 Dec 2009 05:14:51 +0000 (02:14 -0300)]
V4L/DVB (13905): cx18: Allow MPEG index streams to be started and stopped internally

This change allows the IDX stream to be started and stopped as any other
stream even though it has no associated device node.  This is needed for
cx18 driver internal use.

Also always tell the CX23418 to generate index entries when an analog capture
starts and the IDX stream has had buffers allocated (i.e. is enabled).

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13904): cx18: Fix TS and IDX stream buffer memory leak on module unload
Andy Walls [Thu, 31 Dec 2009 04:35:08 +0000 (01:35 -0300)]
V4L/DVB (13904): cx18: Fix TS and IDX stream buffer memory leak on module unload

Fix a long standing memory leak of stream buffers for streams that did not
have a struct video_device allocated: namely the TS and IDX streams.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13903): cx18: Encapsulate check for a stream being enabled into an inline...
Andy Walls [Thu, 31 Dec 2009 03:26:49 +0000 (00:26 -0300)]
V4L/DVB (13903): cx18: Encapsulate check for a stream being enabled into an inline function

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13902): cx18: Update MPEG Index stream buffers module option processing
Andy Walls [Thu, 31 Dec 2009 01:54:53 +0000 (22:54 -0300)]
V4L/DVB (13902): cx18: Update MPEG Index stream buffers module option processing

Update the module options related to INDEX stream buffer allocation.  A single
CX2341[5678] index entry is only 24 bytes.  Large buffers for the IDX stream
will prevent the CX23418 from transferring index data over at all.  Buffers
of around 1.5 kB or 64 index entries seem to be just fine.  We'll default to
63 buffers/MDLs as that is the firmware limit per stream and IDX stream buffers
are not high rate.  There is no reason on earth to allocate the previous 1 MB
default of buffer space for the IDX stream.

This is in anticipation of implementing the G_ENC_INDEX ioctl() in the cx18
driver.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13899): gspca - all subdrivers: Make control descriptors constant.
Marton Nemeth [Wed, 30 Dec 2009 12:12:41 +0000 (09:12 -0300)]
V4L/DVB (13899): gspca - all subdrivers: Make control descriptors constant.

The ctrls field of struct sd_desc is declared as const
in gspca.h. It is worth to initialize the content also with
constant values.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13898): gspca - some subdrivers: Make sd_desc const.
Márton Németh [Tue, 5 Jan 2010 15:39:02 +0000 (12:39 -0300)]
V4L/DVB (13898): gspca - some subdrivers: Make sd_desc const.

The function callbacks in sd_desc are defined at compile time and
they do not change at runtime. Make the sd_desc initializations const.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13897): gspca - main: Check the interface class at probe time.
Jean-Francois Moine [Tue, 5 Jan 2010 07:44:00 +0000 (04:44 -0300)]
V4L/DVB (13897): gspca - main: Check the interface class at probe time.

The USB video interface was checked as having the number zero, but
some webcams have other values. The test is now done on the interface
class which may be either 255 (vendor spec) or 0 (class per interface).

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13896): gspca - zc3xx: Adjust the pas202b exchanges.
Jean-Francois Moine [Mon, 4 Jan 2010 19:09:47 +0000 (16:09 -0300)]
V4L/DVB (13896): gspca - zc3xx: Adjust the pas202b exchanges.

- adapt the start sequences from the info file of the ms-win driver
  of the webcams 046d:08a2/046d:08aa (lvWIMv.inf)
- disable the brightness for this sensor

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13895): gspca - zc3xx: Fix the contrast control.
Jean-Francois Moine [Mon, 4 Jan 2010 18:54:59 +0000 (15:54 -0300)]
V4L/DVB (13895): gspca - zc3xx: Fix the contrast control.

The previous calculation gave bad gamma tables.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13894): gspca - sonixj: Add more controls.
Jean-Francois Moine [Wed, 30 Dec 2009 07:53:07 +0000 (04:53 -0300)]
V4L/DVB (13894): gspca - sonixj: Add more controls.

- sharpness
- brightness for adcm1700
- adjust brightness/exposure for adcm1700
- add some comments

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13893): gspca - vc032x: Change the sensor of 046d:0892 and 046d:0896.
Jean-Francois Moine [Sat, 26 Dec 2009 19:07:24 +0000 (16:07 -0300)]
V4L/DVB (13893): gspca - vc032x: Change the sensor of 046d:0892 and 046d:0896.

- new sensor POxxxx (unknown ID)
- no probe
- new controls
- table for the disabled controls

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13892): gspca - vc032x: Add the H and V flip controls for sensor mi1320.
Jean-Francois Moine [Sat, 26 Dec 2009 18:21:57 +0000 (15:21 -0300)]
V4L/DVB (13892): gspca - vc032x: Add the H and V flip controls for sensor mi1320.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13891): gspca - vc032x: Fix bad probe of the sensor mi1320.
Jean-Francois Moine [Sat, 26 Dec 2009 18:18:02 +0000 (15:18 -0300)]
V4L/DVB (13891): gspca - vc032x: Fix bad probe of the sensor mi1320.

- have 2 tables for sensor probe
- with the same ID, the sensor mi1320 is found with the bridge vc0321,
        the sensor mi1320_soc with the bridge vc0323
- add some comments

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13885): zr364xx: fix support for Aiptek DV T300
Antoine Jacquet [Sun, 27 Dec 2009 21:22:05 +0000 (18:22 -0300)]
V4L/DVB (13885): zr364xx: fix support for Aiptek DV T300

Added a new initialization method for Aiptek DV T300.
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13708

Tested-by: Hámorszky Balázs <balihb@gmail.com>
Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13883): gspca - m5602: Be less verbose during sensor probe
Erik Andrén [Sun, 27 Dec 2009 08:53:28 +0000 (05:53 -0300)]
V4L/DVB (13883): gspca - m5602: Be less verbose during sensor probe

Currently all probed sensor types are emitted in the kernel log, generating unnecessary noise. Be less verbose and only report what sensor is found (if any)

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13881): gspca - stv06xx: Clean up the dump bridge function
Erik Andrén [Sat, 26 Dec 2009 21:00:02 +0000 (18:00 -0300)]
V4L/DVB (13881): gspca - stv06xx: Clean up the dump bridge function

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13879): dvb_frontend: report what ioctl were called on debug mode
Mauro Carvalho Chehab [Thu, 31 Dec 2009 21:14:54 +0000 (18:14 -0300)]
V4L/DVB (13879): dvb_frontend: report what ioctl were called on debug mode

When printing that an iocl were called, report the ioctl number.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13878): dvb_frontend: Print dump on get after filling the data
Mauro Carvalho Chehab [Thu, 31 Dec 2009 20:49:32 +0000 (17:49 -0300)]
V4L/DVB (13878): dvb_frontend: Print dump on get after filling the data

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13872): gspca - sonixj: Add sensor adcm1700 and webcam 0c45:614a.
Jean-Francois Moine [Sun, 20 Dec 2009 15:31:28 +0000 (12:31 -0300)]
V4L/DVB (13872): gspca - sonixj: Add sensor adcm1700 and webcam 0c45:614a.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13871): gspca - benq: New subdriver for camera 04a5:3035.
Jean-Francois Moine [Sun, 20 Dec 2009 12:09:22 +0000 (09:09 -0300)]
V4L/DVB (13871): gspca - benq: New subdriver for camera 04a5:3035.

Tested-by: Francesco Lavra <francescolavra@interfree.it>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13870): gspca - zc3xx: Bad detection of sensor HV7131R(c).
Jean-Francois Moine [Sun, 20 Dec 2009 08:07:10 +0000 (05:07 -0300)]
V4L/DVB (13870): gspca - zc3xx: Bad detection of sensor HV7131R(c).

The webcam 0ac8:303b may have the sensors HV7131B or HV7131R(c).
This changeset checks the HV7131 type.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13867): gspca - zc3xx: Add one more chipset ID of tas5130K.
Luis Maia [Tue, 15 Dec 2009 16:40:44 +0000 (13:40 -0300)]
V4L/DVB (13867): gspca - zc3xx: Add one more chipset ID of tas5130K.

This ID was found in a webcam 0ac8:301b.

Signed-off-by: Luis Maia <lmaia@royalhat.org>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13866): gspca - main: Add the cam flag 'no_urb_create'.
Jean-Francois Moine [Tue, 15 Dec 2009 08:23:04 +0000 (05:23 -0300)]
V4L/DVB (13866): gspca - main: Add the cam flag 'no_urb_create'.

This flag permits subdrivers to create specific transfer URBs.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13865): gspca - main: Optimize code.
Jean-Francois Moine [Tue, 15 Dec 2009 08:16:04 +0000 (05:16 -0300)]
V4L/DVB (13865): gspca - main: Optimize code.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13856): ir-keytable: simplify and avoid a warning
Mauro Carvalho Chehab [Tue, 29 Dec 2009 11:25:13 +0000 (08:25 -0300)]
V4L/DVB (13856): ir-keytable: simplify and avoid a warning

/home/v4l/buildtest/v4l-dvb-master/v4l/ir-keytable.c: In function 'ir_setkeycode':
/home/v4l/buildtest/v4l-dvb-master/v4l/ir-keytable.c:190: warning: 'newkeymap' may be used uninitialized in this function

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13848): smsdvb: Add the proper status for IsRfLocked
Mauro Carvalho Chehab [Fri, 25 Dec 2009 21:04:17 +0000 (18:04 -0300)]
V4L/DVB (13848): smsdvb: Add the proper status for IsRfLocked

Now, if RF is locked but demod is not locked, it will report:
>>> tuning status == 0x03

This happens, for example, if the device is on DVB-T, and the video
standard is ISDB-T.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13847): smsdvb: Remove a wrong debug message
Mauro Carvalho Chehab [Fri, 25 Dec 2009 14:47:33 +0000 (11:47 -0300)]
V4L/DVB (13847): smsdvb: Remove a wrong debug message

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13846): smsdvb: Properly implement stats for both DVB and ISDB-T
Mauro Carvalho Chehab [Fri, 25 Dec 2009 14:29:42 +0000 (11:29 -0300)]
V4L/DVB (13846): smsdvb: Properly implement stats for both DVB and ISDB-T

After taking a look at the driver's history and doing some tests with
DVB and ISDB-T, it was noticed that the stats were incomplete, for
ISDB-T, and weren't working for DVB.

Fixed the code and added a debug code to print the complete stats at
dmesg. This debug is useful to improve the stats of this driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13845): smsdvb: Fix the frequency switch that broke with v5 API conversion
Mauro Carvalho Chehab [Fri, 25 Dec 2009 10:29:06 +0000 (07:29 -0300)]
V4L/DVB (13845): smsdvb: Fix the frequency switch that broke with v5 API conversion

Bandwidth is in Hz, not in kHz.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13844): smsdvb: Properly report the Delivery System
Mauro Carvalho Chehab [Fri, 25 Dec 2009 10:17:03 +0000 (07:17 -0300)]
V4L/DVB (13844): smsdvb: Properly report the Delivery System

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13843): dib8000: Properly report Delivery System as SYS_ISDBT
Mauro Carvalho Chehab [Fri, 25 Dec 2009 09:59:21 +0000 (06:59 -0300)]
V4L/DVB (13843): dib8000: Properly report Delivery System as SYS_ISDBT

Cc: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13842): smsdvb: Convert it to use DVB API v5 (S2API)
Mauro Carvalho Chehab [Wed, 23 Dec 2009 14:28:46 +0000 (11:28 -0300)]
V4L/DVB (13842): smsdvb: Convert it to use DVB API v5 (S2API)

Based on a patch originally written by Michael Krufky <mkrufky@linuxtv.org>
for a preliminar S2API spec.

The patch were ported to the S2API and had the ISDB-T API additions to
honor the auto mode, while keep allowing manual tuning.

Tested with both the original dvb-apps and the new dvb-apps-isdbt scan,
that uses a different channel.conf and uses S2API with ISDB-T extensions.

Thanks-to: Michael Krufky <mkrufky@linuxtv.org> for his first version
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13841): smsdvb: Make stats to work
Mauro Carvalho Chehab [Wed, 23 Dec 2009 13:07:16 +0000 (10:07 -0300)]
V4L/DVB (13841): smsdvb: Make stats to work

Siano series of patches seemed to cause a regression on reporting DTV
statistics. Due to that, signal indication weren't received, preventing
applications like scan to work.

Tested with ISDB-T signals and got the same scan result as with a
dib0700/dib8000 device.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13840): smsusb: Add ISDB-T firmware for Hauppauge WinTV-Nova-T-MiniStick
Michael Krufky [Wed, 23 Dec 2009 00:09:52 +0000 (21:09 -0300)]
V4L/DVB (13840): smsusb: Add ISDB-T firmware for Hauppauge WinTV-Nova-T-MiniStick

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13839): smsdvb: add ISDB-T as DVB-T tuning support hack
Michael Krufky [Wed, 23 Dec 2009 00:08:49 +0000 (21:08 -0300)]
V4L/DVB (13839): smsdvb: add ISDB-T as DVB-T tuning support hack

Activate ISDB-T mode using module option default_mode=6.

hack: use 4 lower bits in frequency for segment number

[mchehab@redhat.com: fix merge conflicts and CodingStyle]
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>