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

V4L/DVB (11860): saa7134: fix quirk in saa7134_i2c_xfer for the saa7131 bridge

The i2c quirk in the saa7134_i2c_xfer function does a bogus write
to i2c address 0xfd, to work around a bug in the silicon that
affects read transactions.

Unfortunately, this hack is not working properly, since the bogus
write is to 0xfd, an invalid i2c address.  Fix this quirk by using
an actual valid i2c address, 0xfe, which is still unlikely to be
used as an i2c address for any actual i2c client.

This is required in order to properly communicate with a TDA10048
DVB-T demod located at i2c address 0x10 on the primary i2c bus.
Signed-off-by: NMichael Krufky <mkrufky@kernellabs.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 c27586e4
...@@ -259,7 +259,7 @@ static int saa7134_i2c_xfer(struct i2c_adapter *i2c_adap, ...@@ -259,7 +259,7 @@ static int saa7134_i2c_xfer(struct i2c_adapter *i2c_adap,
/* workaround for a saa7134 i2c bug /* workaround for a saa7134 i2c bug
* needed to talk to the mt352 demux * needed to talk to the mt352 demux
* thanks to pinnacle for the hint */ * thanks to pinnacle for the hint */
int quirk = 0xfd; int quirk = 0xfe;
d1printk(" [%02x quirk]",quirk); d1printk(" [%02x quirk]",quirk);
i2c_send_byte(dev,START,quirk); i2c_send_byte(dev,START,quirk);
i2c_recv_byte(dev); i2c_recv_byte(dev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册