commit f7668162a366d1ce0fe84122d11108e13a8ce950
tree fd3fce8d8f56af9612ae1d9e3d117b2c6af557e5
parent 5718bbd2d92b9c2aa2f5700e4d3ed9d72f72f47e
author Hans Verkuil <[EMAIL PROTECTED]> 1164458428 -0300
committer Mauro Carvalho Chehab <[EMAIL PROTECTED]> 1164538358 -0200

V4L/DVB (4885): Improve saa711x check

The old code would accept any device on the same i2c address as the
saa711x chips as an saa711x. However, this fails with saa717x chips,
which use that same address and so are misdetected as a saa7111. Now
check whether the chip is really a saa711x model.

Signed-off-by: Hans Verkuil <[EMAIL PROTECTED]>
Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>

 drivers/media/video/saa7115.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c
index c5719f7..f28398d 100644
--- a/drivers/media/video/saa7115.c
+++ b/drivers/media/video/saa7115.c
@@ -1464,8 +1464,6 @@ static int saa711x_attach(struct i2c_ada
        client->driver = &i2c_driver_saa711x;
        snprintf(client->name, sizeof(client->name) - 1, "saa7115");
 
-       v4l_dbg(1, debug, client, "detecting saa7115 client on address 0x%x\n", 
address << 1);
-
        for (i=0;i<0x0f;i++) {
                saa711x_write(client, 0, i);
                name[i] = (saa711x_read(client, 0) &0x0f) +'0';
@@ -1477,6 +1475,13 @@ static int saa711x_attach(struct i2c_ada
        saa711x_write(client, 0, 5);
        chip_id = saa711x_read(client, 0) & 0x0f;
 
+       /* Check whether this chip is part of the saa711x series */
+       if (memcmp(name, "1f711", 5)) {
+               v4l_dbg(1, debug, client, "chip found @ 0x%x (ID %s) does not 
match a known saa711x chip.\n",
+                       address << 1, name);
+               return 0;
+       }
+
        snprintf(client->name, sizeof(client->name) - 1, "saa711%d",chip_id);
        v4l_info(client, "saa711%d found (%s) @ 0x%x (%s)\n", chip_id, name, 
address << 1, adapter->name);
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to