aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2009-12-31 02:32:29 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-01-17 08:31:36 -0500
commit19f8a6c37eead7e93660813c8873ab3e387ccb63 (patch)
tree436a6c3d7d75bd29e84a4096530fa75552730883
parentbbe8c8363da7251b41ee9cdb70059f04fd1bee9b (diff)
V4L/DVB (13887): tda8290: add autodetection support for TDA8295c2
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/common/tuners/tda8290.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/common/tuners/tda8290.c b/drivers/media/common/tuners/tda8290.c
index c190b0dedee4..19010f3d4508 100644
--- a/drivers/media/common/tuners/tda8290.c
+++ b/drivers/media/common/tuners/tda8290.c
@@ -672,16 +672,19 @@ static int tda8290_probe(struct tuner_i2c_props *i2c_props)
672static int tda8295_probe(struct tuner_i2c_props *i2c_props) 672static int tda8295_probe(struct tuner_i2c_props *i2c_props)
673{ 673{
674#define TDA8295_ID 0x8a 674#define TDA8295_ID 0x8a
675#define TDA8295C2_ID 0x8b
675 unsigned char tda8295_id[] = { 0x2f, 0x00 }; 676 unsigned char tda8295_id[] = { 0x2f, 0x00 };
676 677
677 /* detect tda8295 */ 678 /* detect tda8295 */
678 tuner_i2c_xfer_send(i2c_props, &tda8295_id[0], 1); 679 tuner_i2c_xfer_send(i2c_props, &tda8295_id[0], 1);
679 tuner_i2c_xfer_recv(i2c_props, &tda8295_id[1], 1); 680 tuner_i2c_xfer_recv(i2c_props, &tda8295_id[1], 1);
680 681
681 if (tda8295_id[1] == TDA8295_ID) { 682 if ((tda8295_id[1] & 0xfe) == TDA8295_ID) {
682 if (debug) 683 if (debug)
683 printk(KERN_DEBUG "%s: tda8295 detected @ %d-%04x\n", 684 printk(KERN_DEBUG "%s: %s detected @ %d-%04x\n",
684 __func__, i2c_adapter_id(i2c_props->adap), 685 __func__, (tda8295_id[1] == TDA8295_ID) ?
686 "tda8295c1" : "tda8295c2",
687 i2c_adapter_id(i2c_props->adap),
685 i2c_props->addr); 688 i2c_props->addr);
686 return 0; 689 return 0;
687 } 690 }