summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/tuner-core.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-08-24 00:13:07 -0400
committerMichael Krufky <mkrufky@linuxtv.org>2007-08-24 00:13:07 -0400
commitccbd474bc9a3edc123b1da81baba573f9706bd09 (patch)
tree4296015be7e3ac7924bc5bef1d44a308c34b60b0 /linux/drivers/media/video/tuner-core.c
parentae1fc4d8d1d2d3b39cd1ad55b0563ef30ab6f2e6 (diff)
downloadmediapointer-dvb-s2-ccbd474bc9a3edc123b1da81baba573f9706bd09.tar.gz
mediapointer-dvb-s2-ccbd474bc9a3edc123b1da81baba573f9706bd09.tar.bz2
tuner: don't probe 0x6b or 0x6f on cx88 boards
From: Michael Krufky <mkrufky@linuxtv.org> 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 <mkrufky@linuxtv.org> Acked-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'linux/drivers/media/video/tuner-core.c')
-rw-r--r--linux/drivers/media/video/tuner-core.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/linux/drivers/media/video/tuner-core.c b/linux/drivers/media/video/tuner-core.c
index 2aced6eed..dd37aed8b 100644
--- a/linux/drivers/media/video/tuner-core.c
+++ b/linux/drivers/media/video/tuner-core.c
@@ -595,6 +595,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;
#ifdef I2C_CLASS_TV_ANALOG