V4L/DVB (9039): Add support for new i2c API provided in firmware version 1.20
authorDevin Heitmueller <devin.heitmueller@gmail.com>
Sat, 6 Sep 2008 16:45:27 +0000 (13:45 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 12 Oct 2008 11:37:08 +0000 (09:37 -0200)
commitbdc203e156ce938e12d957912bd29ca53d160540
tree8fc2b01bc6f584dc71f506e0c6a25f96c515e184
parent17a370bcca661a849c9af07feae86f42d0c6dfd1
V4L/DVB (9039): Add support for new i2c API provided in firmware version 1.20

The Pinnacle PCTV HD Pro has an xc5000, which exposed a bug in the dib0700's
i2c implementation where it did not properly support a single i2c read request
(sending it as an i2c write request instead).  Version 1.20 of the firmware
added support for a new i2c API which supported such requests.

This change defaults to fw 1.20 for all devices, but does not default to using
the new i2c API (since initial testing suggests problems interacting with the
mt2060).  Maintainers can enable the use of the new i2c API by putting
the following into their frontend initialization:

struct dib0700_state *st = adap->dev->priv;
st->fw_use_new_i2c_api = 1;

Also note that the code expects i2c repeated start to be supported.  If the
i2c slave does not support repeated start, i2c messsages should have the
I2C_M_NOSTART flag set.

Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing new
firmware fixing the issue as well as example i2c code utilizing the interface.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/dib0700.h
drivers/media/dvb/dvb-usb/dib0700_core.c
drivers/media/dvb/dvb-usb/dib0700_devices.c