summaryrefslogtreecommitdiff
path: root/drivers/staging/tm6000/tm6000-i2c.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2007-11-05 11:03:04 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-18 00:39:56 -0300
commit28cb88caaec4d22c970a28e080c1815ee3b043fa (patch)
tree597234225f917697e0868e899a50b122b23d4183 /drivers/staging/tm6000/tm6000-i2c.c
parentb1ce40b1392e2a20529ad2f01ab76145102c0ef1 (diff)
V4L/DVB (12813): tm6000: all read messages should use prev_reg
read messages with length>1 where using the wrong register. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/staging/tm6000/tm6000-i2c.c')
-rw-r--r--drivers/staging/tm6000/tm6000-i2c.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/staging/tm6000/tm6000-i2c.c b/drivers/staging/tm6000/tm6000-i2c.c
index 10c7d947d53e..c53b7046c2ec 100644
--- a/drivers/staging/tm6000/tm6000-i2c.c
+++ b/drivers/staging/tm6000/tm6000-i2c.c
@@ -113,21 +113,11 @@ static int tm6000_i2c_xfer(struct i2c_adapter *i2c_adap,
out of message data.
*/
/* SMBus Read Byte command */
- if(msgs[i].len == 1) {
- // we use the previously used register to read from
- rc = tm6000_read_write_usb (dev,
- USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
- REQ_16_SET_GET_I2CSEQ,
- addr | prev_reg<<8, 0,
- msgs[i].buf, msgs[i].len);
- }
- else {
- rc = tm6000_read_write_usb (dev,
- USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
- REQ_16_SET_GET_I2CSEQ,
- addr|(*msgs[i].buf)<<8, 0,
- msgs[i].buf, msgs[i].len);
- }
+ rc = tm6000_read_write_usb (dev,
+ USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
+ REQ_16_SET_GET_I2CSEQ,
+ addr | (prev_reg << 8), 0,
+ msgs[i].buf, msgs[i].len);
if (i2c_debug>=2) {
for (byte = 0; byte < msgs[i].len; byte++) {
printk(" %02x", msgs[i].buf[byte]);