From 13dd38d0814f36fce3a7ec9cb29a5ce6b0fc2522 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 8 Nov 2005 21:37:57 -0800 Subject: [PATCH] [PATCH] v4l: 819: added autodetection code to tda8290 to avoid conflicts - Added autodetection code to tda8290, to avoid conflicts with tda9887. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/media/video/tda8290.c | 4 ++-- drivers/media/video/tuner-core.c | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c index fa9b4b898f68..abad3d5b04f6 100644 --- a/drivers/media/video/tda8290.c +++ b/drivers/media/video/tda8290.c @@ -534,8 +534,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/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index b9f1acf30caf..d4786b331467 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c @@ -364,7 +364,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; @@ -376,7 +377,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 */