aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/dib0700_devices.c
diff options
context:
space:
mode:
authorDevin Heitmueller <devin.heitmueller@gmail.com>2008-09-06 12:45:27 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 07:37:08 -0400
commitbdc203e156ce938e12d957912bd29ca53d160540 (patch)
tree8fc2b01bc6f584dc71f506e0c6a25f96c515e184 /drivers/media/dvb/dvb-usb/dib0700_devices.c
parent17a370bcca661a849c9af07feae86f42d0c6dfd1 (diff)
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>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dib0700_devices.c')
-rw-r--r--drivers/media/dvb/dvb-usb/dib0700_devices.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c
index 110d9344bc9..2555e53b31d 100644
--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
@@ -1127,7 +1127,7 @@ MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table);
1127#define DIB0700_DEFAULT_DEVICE_PROPERTIES \ 1127#define DIB0700_DEFAULT_DEVICE_PROPERTIES \
1128 .caps = DVB_USB_IS_AN_I2C_ADAPTER, \ 1128 .caps = DVB_USB_IS_AN_I2C_ADAPTER, \
1129 .usb_ctrl = DEVICE_SPECIFIC, \ 1129 .usb_ctrl = DEVICE_SPECIFIC, \
1130 .firmware = "dvb-usb-dib0700-1.10.fw", \ 1130 .firmware = "dvb-usb-dib0700-1.20.fw", \
1131 .download_firmware = dib0700_download_firmware, \ 1131 .download_firmware = dib0700_download_firmware, \
1132 .no_reconnect = 1, \ 1132 .no_reconnect = 1, \
1133 .size_of_priv = sizeof(struct dib0700_state), \ 1133 .size_of_priv = sizeof(struct dib0700_state), \