Commit Graph

234260 Commits

Author SHA1 Message Date
Mauro Carvalho Chehab
4e105039da [media] cx231xx: Add support for PV Xcapture USB
Adds support for Pixelviex Xcapture USB grabber device.
This device has one composite and one s-video entry
only, plus a button.

For now, the button is not supported.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:32:00 -03:00
Mauro Carvalho Chehab
38f5ddc1bf [media] cx231xx: Allow some boards to not use I2C port 3
Some devices don't need to use it. So allow to just disable this logic.
Having it enabled on some devices cause power management to complain,
generating error -71.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:59 -03:00
Mauro Carvalho Chehab
2f86138706 [media] cx231xx: Use parameters to describe some board variants
Instead of per-model tests all over the code, use some parameters
at the board entries to describe the model variants for:
	- devices with 417 MPEG encoder;
	- devices that use external AV;
	- devices where vbi VANC endpoint doesn't work;
	- devices with xc5000 that require different IF
	  initialization (and probably will cover also
	  xc3028).
	- devices with xceive tuner that require a reset
	  during init.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:59 -03:00
Mauro Carvalho Chehab
3f25ffa2cd [media] cx231xx: Use a generic check for TUNER_XC5000
The check for xc5000 assumes that the tuner will always
be using the same bus and will have the same address.
As those are configurable via dev->board, it should use,
instead, the values defined there.

Also, a similar type of test will be needed by other
tuners (for example, for TUNER_XC2028)

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:59 -03:00
Mauro Carvalho Chehab
8bb84227d1 [media] cx231xx: Simplify interface checking logic at probe
Just a cleanup patch. Removes one indent level by moving
the return -ENODEV to happen before the device register
logic, if the interface is not the audio/video (int 1).

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:59 -03:00
Alina Friedrichsen
b8bc77db1e [media] tuner-xc2028: More firmware loading retries
My Hauppauge WinTV HVR-1400 needs sometimes more then only one retry to load the firmware successfully.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:58 -03:00
iceberg
2b97e2201e [media] double mutex lock in drivers/media/radio/si470x/radio-si470x-
KERNEL_VERSION: 2.6.37
common.c in function ssize_t si470x_fops_read.

1. First mutex_lock on &radio->lock in line 441
2. Second in line 462

I think that mutex in line 462 is not needed.

 433static ssize_t si470x_fops_read(struct file *file, char __user *buf,
 434                size_t count, loff_t *ppos)
 435{
....
 441        mutex_lock(&radio->lock);
 442        if ((radio->registers[SYSCONFIG1] & SYSCONFIG1_RDS) == 0)
 443                si470x_rds_on(radio);
 444
 445        /* block if no new data available */
 446        while (radio->wr_index == radio->rd_index) {
 447                if (file->f_flags & O_NONBLOCK) {
 448                        retval = -EWOULDBLOCK;
 449                        goto done;
 450                }
 451                if (wait_event_interruptible(radio->read_queue,
 452                        radio->wr_index != radio->rd_index) < 0) {
 453                        retval = -EINTR;
 454                        goto done;
 455                }
 456        }
 457
 458        /* calculate block count from byte count */
 459        count /= 3;
 460
 461        /* copy RDS block out of internal buffer and to user buffer */
 462        mutex_lock(&radio->lock);

Found by Linux Device Drivers Verification Project

Remove second mutex.

Signed-off-by: Alexander Strakh <strakh@ispras.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:56 -03:00
Dmitri Belimov
8e030cabf1 [media] tm6000: add/rework reg.defines
Rework registers defines. Add TM6000 specific registers defines.
Add marks and comments for TM6010 specific registers.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:53 -03:00
Hans Verkuil
cbfb3daa66 [media] cpia2: convert to video_ioctl2
Unable to test this due to lack of hardware.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:51 -03:00
Hans Verkuil
afa3852161 [media] pwc: convert to video_ioctl2
Tested with a Logitech QuickCam Pro 4000.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:51 -03:00
Hans Verkuil
b577f962d2 [media] pwc: convert to core-assisted locking
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:51 -03:00
Hans Verkuil
5b2830298d [media] vivi: fix compiler warning
drivers/media/video/vivi.c:1059: warning: this decimal constant is unsigned only in ISO C90

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:51 -03:00
Hans Verkuil
7e996afa81 [media] vivi: convert to the control framework and add test controls
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:50 -03:00
Hans Verkuil
0eb73de019 [media] tvp7002: use control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:50 -03:00
Hans Verkuil
9a775323ee [media] vpx3220: use control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:50 -03:00
Hans Verkuil
6c45ec718e [media] tvp5150: use the control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:50 -03:00
Hans Verkuil
cf6832afe5 [media] tvp514x: use the control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:50 -03:00
Hans Verkuil
e3d5ef0410 [media] tlv320aic23b: use control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:50 -03:00
Hans Verkuil
4744ebf631 [media] saa7110: use control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:50 -03:00
Hans Verkuil
bd84a65aef [media] bt819: use control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:49 -03:00
Hans Verkuil
ceed52d67e [media] adv7343: use control framework
Also fixed a memory leak in the probe function if an error occurred.
The gain control range was also fixed (a proper range from -64 to 64).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:49 -03:00
Hans Verkuil
a75b9be1c2 [media] cx18: Use the control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:49 -03:00
Hans Verkuil
34a078da8e [media] cs5345: use the control framework
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:49 -03:00
Mauro Carvalho Chehab
1f075d1f1b [media] technisat-usb2: CodingStyle cleanups
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:49 -03:00
Mauro Carvalho Chehab
d642f2f3c5 [media] add support for Encore FM3
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:49 -03:00
Mauro Carvalho Chehab
99fb079aad [media] saa7134: Properly report when a board doesn't have eeprom
When a device is not detected, the driver prints a warning message.
That's ok, except for the fact that, even on newer devices that have
eeprom but aren't yet supported, it prints a message saying that the
device doesn't have eeprom.

Fix it by having a separate message for devices with eeprom, but not
yet known by the driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:48 -03:00
Mauro Carvalho Chehab
0cda12556b [media] tuner-simple: add support for Tena TNF5337 MFD
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:48 -03:00
Hans Verkuil
db4d56835e [media] DocBook/v4l: fix validation errors
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:48 -03:00
Pawel Osciak
e007a32526 [media] v4l: vivi: port to videobuf2
Make vivi use videobuf2 in place of videobuf.

Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:48 -03:00
Mauro Carvalho Chehab
dbf05b279b [media] ngene: Fix compilation when cxd2099 is not enabled
drivers/media/dvb/ngene/ngene-i2c.o: In function `cxd2099_attach':
ngene-i2c.c:(.text+0x195): multiple definition of `cxd2099_attach'
drivers/media/dvb/ngene/ngene-core.o:ngene-core.c:(.text+0x100): first defined here
drivers/media/dvb/ngene/ngene-cards.o: In function `cxd2099_attach':
ngene-cards.c:(.text+0x116): multiple definition of `cxd2099_attach'
drivers/media/dvb/ngene/ngene-core.o:ngene-core.c:(.text+0x100): first defined here
drivers/media/dvb/ngene/ngene-dvb.o: In function `cxd2099_attach':
ngene-dvb.c:(.text+0x7ad): multiple definition of `cxd2099_attach'
drivers/media/dvb/ngene/ngene-core.o:ngene-core.c:(.text+0x100): first defined here

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:48 -03:00
Mauro Carvalho Chehab
8112248a1b [media] Move CI cxd2099 driver to staging
This driver is abusing the kernel<=>userspace API, due to the lack of a
proper solution for it. A discussion were done at:
	http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html
But there's not a solution for it yet. So, move the driver to staging, while
we don't have a final solution.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:47 -03:00
Oliver Endriss
4862d6b2e2 [media] stv090x: 22kHz workaround must also be performed for the 2nd frontend
22kHz workaround must also be performed for the 2nd frontend.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:46 -03:00
Oliver Endriss
3d0cef2c3c [media] ngene: Improved channel initialisation and release
Refactored code for channel initialisation and release:
- Do not create device nodes which are not required.
- Better error handling.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:46 -03:00
Oliver Endriss
179fd15a99 [media] stv090x: Fix losing lock in dual DVB-S2 mode
Do not clear registers ACLC/BCLC in DVB-S2 mode for Cut <= 20.
Otherwise, the demod could lose the lock periodically.
Verified with cineS2 and Duoflex.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:46 -03:00
Oliver Endriss
908f668bfb [media] stv090x: Fixed typos in register macros
Fixed typos in register macros.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:45 -03:00
Oliver Endriss
e549bedf8f [media] ngene: Fix copy-paste error
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:45 -03:00
Oliver Endriss
f33de4aa24 [media] get_dvb_firmware: ngene_18.fw added
Add download link for ngene firmware rev 18.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:45 -03:00
Oliver Endriss
f164396ff5 [media] ngene: Enable CI for Mystique SaTiX-S2 Dual (v2)
Enable CI for Mystique SaTiX-S2 Dual (v2).

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:45 -03:00
Ralph Metzler
cce33c3493 [media] ngene: Add net device
Add dvb net device.
Note that the physical address must be setup manually.

Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:45 -03:00
Ralph Metzler
1b7c41ef33 [media] ngene: Shutdown workaround
Implement shutdown workaround for some chipsets.

Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:45 -03:00
Ralph Metzler
0f0b270f90 [media] ngene: CXD2099AR Common Interface driver
Driver for the Common Interface Controller CXD2099AR.
Supports the CI of the cineS2 DVB-S2.

For now, data is passed through '/dev/dvb/adapterX/sec0':
- Encrypted data must be written to 'sec0'.
- Decrypted data can be read from 'sec0'.
- Setup the CAM using device 'ca0'.

Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:45 -03:00
Oliver Endriss
8a484719c7 [media] ngene: Clean-up driver initialisation (part 1)
If tuner initialisation failed, the frontend node was not removed.
When the frontend was opened, a kernel oops occurred...

This is the first step to improve error handling during initialisation.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:44 -03:00
Oliver Endriss
5fec18574f [media] ngene: Support up to 4 tuners
Support up to 4 tuners for cineS2 v5, duoflex & mystique v2.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:44 -03:00
Oliver Endriss
ac9725d224 [media] ngene: Fixes for TS input over I2S
Fix TS input over I2S.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:44 -03:00
Oliver Endriss
09961aae7b [media] ngene: Firmware 18 support
Small modifications for firmware 18.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:44 -03:00
Oliver Endriss
f790bdd00d [media] stv090x: Optional external lock routine
Card driver may supply its own lock routine now.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:44 -03:00
Andreas Regel
5bd0dc2d8a [media] stv090x: make sleep/wakeup specific to the demod path
The STV0900 features two demodulator paths in one chip. Thus it is not
possible to use the generic power off function of the chip when sending
one of them to standby. The other path will stop working in that case.

The sleep function now switches off functionality specific to the demod
path. The global stuff is only switched off, when both paths are in
sleep mode. The wakeup function always turns on the global functionality
and then works specific to the path.

Signed-off-by: Andreas Regel <andreas.regel@gmx.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:44 -03:00
Mauro Carvalho Chehab
2c2c441b10 [media] dib8000: Fix some wrong alignments
Something went wrong with the alignments for the if clause at line 2113.
Instead of using one tab for alignments, it used 3 tabs, plus one space
character.

WARNING: suspect code indent for conditional statements (8, 33)
+	if ((state->fe[0]->dtv_property_cache.delivery_system != SYS_ISDBT) ||
[...]
+				 int i = 80000;

WARNING: suspect code indent for conditional statements (33, 41)
+				 for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
+					 dib8000_set_bandwidth(state->fe[index_frontend], fe->dtv_property_cache.bandwidth_hz / 1000);

WARNING: suspect code indent for conditional statements (33, 41)
+				 do {
+					 msleep(20);

WARNING: suspect code indent for conditional statements (41, 49)
+					 for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
+						 if (((tune_failed >> index_frontend) & 0x1) == 0) {

WARNING: suspect code indent for conditional statements (49, 57)
+						 if (((tune_failed >> index_frontend) & 0x1) == 0) {
+							 found = dib8000_autosearch_irq(state->fe[index_frontend]);

WARNING: suspect code indent for conditional statements (41, 49)
+					 if ((nbr_pending == 0) && (exit_condition == 0))
+						 exit_condition = 1;

Cc: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:43 -03:00
Mauro Carvalho Chehab
46f7296a52 [media] dib7000p: Fix 4-byte wrong alignments for some case statements
ERROR: switch and case should be at the same indent
 	switch (ch->u.ofdm.transmission_mode) {
[...]
+    case TRANSMISSION_MODE_4K:

WARNING: please, no spaces at the start of a line
+    case TRANSMISSION_MODE_4K:$

ERROR: switch and case should be at the same indent
 	switch (ch->u.ofdm.transmission_mode) {
[...]
+    case TRANSMISSION_MODE_4K:

WARNING: please, no spaces at the start of a line
+    case TRANSMISSION_MODE_4K:$

ERROR: switch and case should be at the same indent
 	switch (ch->u.ofdm.transmission_mode) {
[...]
+    case TRANSMISSION_MODE_4K:

WARNING: please, no spaces at the start of a line
+    case TRANSMISSION_MODE_4K:$

Cc: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:43 -03:00
Olivier Grenie
b4d6046e84 [media] DiBxxxx: Codingstype updates
This patchs fix several conding-style violations.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21 20:31:43 -03:00