diff options
author | Mauro Carvalho Chehab <devnull@localhost> | 2005-10-18 16:56:27 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <devnull@localhost> | 2005-10-18 16:56:27 +0000 |
commit | c8ae8ee9d850fac86b9431ac7f518fde3bd845c7 (patch) | |
tree | 01587630f3314727bc4de5eb84cddd31b39ba7fb /linux/drivers/media/video | |
parent | 1ed325647dff4192dc9c400febf3b72887f25a3c (diff) | |
download | mediapointer-dvb-s2-c8ae8ee9d850fac86b9431ac7f518fde3bd845c7.tar.gz mediapointer-dvb-s2-c8ae8ee9d850fac86b9431ac7f518fde3bd845c7.tar.bz2 |
- Added autodetection code to tda8290, to avoid conflicts with
tda9887.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/tda8290.c | 6 | ||||
-rw-r--r-- | linux/drivers/media/video/tuner-core.c | 15 |
2 files changed, 16 insertions, 5 deletions
diff --git a/linux/drivers/media/video/tda8290.c b/linux/drivers/media/video/tda8290.c index f38681368..a58d67d2f 100644 --- a/linux/drivers/media/video/tda8290.c +++ b/linux/drivers/media/video/tda8290.c @@ -1,5 +1,5 @@ /* - $Id: tda8290.c,v 1.23 2005/10/17 22:01:51 nsh Exp $ + $Id: tda8290.c,v 1.24 2005/10/18 16:56:27 mchehab Exp $ i2c tv tuner chip device driver controls the philips tda8290+75 tuner chip combo. @@ -536,8 +536,8 @@ int tda8290_init(struct i2c_client *c) } if (tuner_addrs == 0) { tuner_addrs = 0x61; - tuner_info ("could not clearly identify tuner address, defaulting to %x\n", - tuner_addrs); + tuner_info ("Could not clearly identify tda8290/8275 tuner address.\n"); + return -1; } else { tuner_addrs = tuner_addrs & 0xff; tuner_info ("setting tuner address to %x\n", tuner_addrs); diff --git a/linux/drivers/media/video/tuner-core.c b/linux/drivers/media/video/tuner-core.c index a65a2ca94..66a5452e4 100644 --- a/linux/drivers/media/video/tuner-core.c +++ b/linux/drivers/media/video/tuner-core.c @@ -1,5 +1,5 @@ /* - * $Id: tuner-core.c,v 1.75 2005/10/17 21:01:35 hhackmann Exp $ + * $Id: tuner-core.c,v 1.76 2005/10/18 16:56:27 mchehab Exp $ * * i2c tv tuner chip device driver * core core, i.e. kernel interfaces, registering and so on @@ -375,7 +375,8 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind) } /* TEA5767 autodetection code - only for addr = 0xc0 */ if (!no_autodetect) { - if (addr == 0x60) { + switch (addr) { + case 0x60: if (tea5767_autodetection(&t->i2c) != EINVAL) { t->type = TUNER_TEA5767; t->mode_mask = T_RADIO; @@ -387,7 +388,17 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind) set_type(&t->i2c,t->type, t->mode_mask); return 0; } + case 0x42: + case 0x43: + case 0x4a: + case 0x44: + if (tda8290_init(&t->i2c)<0) { + kfree(t); + return 0; + } + } + } /* Initializes only the first adapter found */ |