diff options
author | Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 2005-08-01 01:34:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-01 22:13:59 -0400 |
commit | fd3113e84e188781aa2935fbc4351d64ccdd171b (patch) | |
tree | 7db491fdc25d938ea51be3f85a91161a95fdd67f /drivers/media/video/tuner-core.c | |
parent | cdf32eaa4e601b15146e21b6470de00f149ce37f (diff) |
[PATCH] V4L: Miscellaneous fixes
- Fixed some bttv card numbers.
- BTTV and SAA7134 version numbers incremented to reflect changes.
- pci_dma_supported() is called after pci_set_dma_mask() which
already did check that for us. This patch removes the unneeded call to
pci_dma_supported() at bttv-driver.c
- Ensure a sufficient I2C bus idle time between 2 messages for
saa7134-i2c.c
- It is important to write at first to MO_GP3_IO for cx88-tvaudio.c
- Use try_to_freeze() instead of refrigerator at msp3400.c
- Recognizing the MFPE05-2 Tuner at tveeprom.c
- Add new parameter to help identify radio chipsets at tuner module:
show_i2c=1 will show 16 reading bytes from detected tuners.
- BTTV does generate some Unimplemented IOCTL log at tuner module:
0x40046d11(dir=1,tp=0x6d,nr=17,sz=4) means that it is sending
MSP3400 calls to non-msp3400 tuners. Warning eliminated.
VIDIOSAUDIO is also called, so debug messages updated. It is still
requiring IOCTL implementation.
- Added two more tuners.
- Add support for the SVideo input on the GDI Black Gold.
Signed-off-by: Peter Missel <peter.missel@onlinehome.de>
Signed-off-by: Graham Bevan <graham.bevan@ntlworld.com>
Signed-off-by: Torsten Seeboth <Torsten.Seeboth@t-online.de>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t.online.de>
Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/video/tuner-core.c')
-rw-r--r-- | drivers/media/video/tuner-core.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index b25a9c08ac02..f0a579827a24 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: tuner-core.c,v 1.58 2005/07/14 03:06:43 mchehab Exp $ | 2 | * $Id: tuner-core.c,v 1.63 2005/07/28 18:19:55 mchehab Exp $ |
3 | * | 3 | * |
4 | * i2c tv tuner chip device driver | 4 | * i2c tv tuner chip device driver |
5 | * core core, i.e. kernel interfaces, registering and so on | 5 | * core core, i.e. kernel interfaces, registering and so on |
@@ -23,6 +23,8 @@ | |||
23 | #include <media/tuner.h> | 23 | #include <media/tuner.h> |
24 | #include <media/audiochip.h> | 24 | #include <media/audiochip.h> |
25 | 25 | ||
26 | #include "msp3400.h" | ||
27 | |||
26 | #define UNSET (-1U) | 28 | #define UNSET (-1U) |
27 | 29 | ||
28 | /* standard i2c insmod options */ | 30 | /* standard i2c insmod options */ |
@@ -42,6 +44,9 @@ module_param(addr, int, 0444); | |||
42 | static unsigned int no_autodetect = 0; | 44 | static unsigned int no_autodetect = 0; |
43 | module_param(no_autodetect, int, 0444); | 45 | module_param(no_autodetect, int, 0444); |
44 | 46 | ||
47 | static unsigned int show_i2c = 0; | ||
48 | module_param(show_i2c, int, 0444); | ||
49 | |||
45 | /* insmod options used at runtime => read/write */ | 50 | /* insmod options used at runtime => read/write */ |
46 | unsigned int tuner_debug = 0; | 51 | unsigned int tuner_debug = 0; |
47 | module_param(tuner_debug, int, 0644); | 52 | module_param(tuner_debug, int, 0644); |
@@ -320,6 +325,17 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind) | |||
320 | 325 | ||
321 | tuner_info("chip found @ 0x%x (%s)\n", addr << 1, adap->name); | 326 | tuner_info("chip found @ 0x%x (%s)\n", addr << 1, adap->name); |
322 | 327 | ||
328 | if (show_i2c) { | ||
329 | unsigned char buffer[16]; | ||
330 | int i,rc; | ||
331 | |||
332 | memset(buffer, 0, sizeof(buffer)); | ||
333 | rc = i2c_master_recv(&t->i2c, buffer, sizeof(buffer)); | ||
334 | printk("tuner-%04x I2C RECV = ",addr); | ||
335 | for (i=0;i<rc;i++) | ||
336 | printk("%02x ",buffer[i]); | ||
337 | printk("\n"); | ||
338 | } | ||
323 | /* TEA5767 autodetection code - only for addr = 0xc0 */ | 339 | /* TEA5767 autodetection code - only for addr = 0xc0 */ |
324 | if (!no_autodetect) { | 340 | if (!no_autodetect) { |
325 | if (addr == 0x60) { | 341 | if (addr == 0x60) { |
@@ -451,6 +467,17 @@ static int tuner_command(struct i2c_client *client, unsigned int cmd, void *arg) | |||
451 | break; | 467 | break; |
452 | } | 468 | } |
453 | break; | 469 | break; |
470 | case VIDIOCSAUDIO: | ||
471 | if (check_mode(t, "VIDIOCSAUDIO") == EINVAL) | ||
472 | return 0; | ||
473 | if (check_v4l2(t) == EINVAL) | ||
474 | return 0; | ||
475 | |||
476 | /* Should be implemented, since bttv calls it */ | ||
477 | tuner_dbg("VIDIOCSAUDIO not implemented.\n"); | ||
478 | |||
479 | break; | ||
480 | case MSP_SET_MATRIX: | ||
454 | case TDA9887_SET_CONFIG: | 481 | case TDA9887_SET_CONFIG: |
455 | break; | 482 | break; |
456 | /* --- v4l ioctls --- */ | 483 | /* --- v4l ioctls --- */ |