Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a1dec5160d6e536b409761c1914500f4a7cf08c2
Commit:     a1dec5160d6e536b409761c1914500f4a7cf08c2
Parent:     3c44358c49ee4142d0f868509b5b3b02759fa16a
Author:     Michael Krufky <[EMAIL PROTECTED]>
AuthorDate: Fri Aug 24 01:13:07 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Tue Oct 9 22:08:30 2007 -0300

    V4L/DVB (6180): tuner: don't probe 0x6b or 0x6f on cx88 boards
    
    Ignore 0x6b and 0x6f on cx88 boards. Some FusionHDTV cards
    have an ir receiver at 0x6b and an RTC at 0x6f which can
    get corrupted if probed.
    
    Signed-off-by: Michael Krufky <[EMAIL PROTECTED]>
    Acked-by: Jean Delvare <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/tuner-core.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index 2f74379..2d4a3e3 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -661,6 +661,27 @@ static int tuner_probe(struct i2c_adapter *adap)
                normal_i2c[1] = I2C_CLIENT_END;
        }
 
+       /* HACK: Ignore 0x6b and 0x6f on cx88 boards.
+        * FusionHDTV5 RT Gold has an ir receiver at 0x6b
+        * and an RTC at 0x6f which can get corrupted if probed.
+        */
+       if (adap->id == I2C_HW_B_CX2388x) {
+               unsigned int i = 0;
+
+               while (i < I2C_CLIENT_MAX_OPTS && ignore[i] != I2C_CLIENT_END)
+                       i += 2;
+               if (i + 4 < I2C_CLIENT_MAX_OPTS) {
+                       ignore[i+0] = adap->nr;
+                       ignore[i+1] = 0x6b;
+                       ignore[i+2] = adap->nr;
+                       ignore[i+3] = 0x6f;
+                       ignore[i+4] = I2C_CLIENT_END;
+               } else
+                       printk(KERN_WARNING "tuner: "
+                              "too many options specified "
+                              "in i2c probe ignore list!\n");
+       }
+
        default_mode_mask = T_RADIO | T_ANALOG_TV | T_DIGITAL_TV;
 
        if (adap->class & I2C_CLASS_TV_ANALOG)
-
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