提交 a1dec516 编写于 作者: M Michael Krufky 提交者: Mauro Carvalho Chehab

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: NMichael Krufky <mkrufky@linuxtv.org>
Acked-by: NJean Delvare <khali@linux-fr.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 3c44358c
......@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册