diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2013-12-12 15:41:10 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-01-07 03:50:26 -0500 |
commit | 1134e9d1931cd42980fa7de741c1d4b30e6dd7ca (patch) | |
tree | 5f8abcdcb2add8cf5fa1e6bb900dd491bbd2bfdb | |
parent | 5765f33c6c9ae68c7ad464931d21764911c6e2d1 (diff) |
[media] cx231xx: fix i2c debug prints
Do not shift the already 7bit i2c address.
Print a message also for write+read transactions.
For write+read, print the read buffer correctly instead of using the write
buffer.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r-- | drivers/media/usb/cx231xx/cx231xx-i2c.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/media/usb/cx231xx/cx231xx-i2c.c b/drivers/media/usb/cx231xx/cx231xx-i2c.c index 96a5a0965399..a0d223576c80 100644 --- a/drivers/media/usb/cx231xx/cx231xx-i2c.c +++ b/drivers/media/usb/cx231xx/cx231xx-i2c.c | |||
@@ -371,9 +371,9 @@ static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap, | |||
371 | mutex_lock(&dev->i2c_lock); | 371 | mutex_lock(&dev->i2c_lock); |
372 | for (i = 0; i < num; i++) { | 372 | for (i = 0; i < num; i++) { |
373 | 373 | ||
374 | addr = msgs[i].addr >> 1; | 374 | addr = msgs[i].addr; |
375 | 375 | ||
376 | dprintk2(2, "%s %s addr=%x len=%d:", | 376 | dprintk2(2, "%s %s addr=0x%x len=%d:", |
377 | (msgs[i].flags & I2C_M_RD) ? "read" : "write", | 377 | (msgs[i].flags & I2C_M_RD) ? "read" : "write", |
378 | i == num - 1 ? "stop" : "nonstop", addr, msgs[i].len); | 378 | i == num - 1 ? "stop" : "nonstop", addr, msgs[i].len); |
379 | if (!msgs[i].len) { | 379 | if (!msgs[i].len) { |
@@ -395,13 +395,21 @@ static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap, | |||
395 | } else if (i + 1 < num && (msgs[i + 1].flags & I2C_M_RD) && | 395 | } else if (i + 1 < num && (msgs[i + 1].flags & I2C_M_RD) && |
396 | msgs[i].addr == msgs[i + 1].addr | 396 | msgs[i].addr == msgs[i + 1].addr |
397 | && (msgs[i].len <= 2) && (bus->nr < 3)) { | 397 | && (msgs[i].len <= 2) && (bus->nr < 3)) { |
398 | /* write bytes */ | ||
399 | if (i2c_debug >= 2) { | ||
400 | for (byte = 0; byte < msgs[i].len; byte++) | ||
401 | printk(" %02x", msgs[i].buf[byte]); | ||
402 | } | ||
398 | /* read bytes */ | 403 | /* read bytes */ |
404 | dprintk2(2, "plus %s %s addr=0x%x len=%d:", | ||
405 | (msgs[i+1].flags & I2C_M_RD) ? "read" : "write", | ||
406 | i+1 == num - 1 ? "stop" : "nonstop", addr, msgs[i+1].len); | ||
399 | rc = cx231xx_i2c_recv_bytes_with_saddr(i2c_adap, | 407 | rc = cx231xx_i2c_recv_bytes_with_saddr(i2c_adap, |
400 | &msgs[i], | 408 | &msgs[i], |
401 | &msgs[i + 1]); | 409 | &msgs[i + 1]); |
402 | if (i2c_debug >= 2) { | 410 | if (i2c_debug >= 2) { |
403 | for (byte = 0; byte < msgs[i].len; byte++) | 411 | for (byte = 0; byte < msgs[i+1].len; byte++) |
404 | printk(" %02x", msgs[i].buf[byte]); | 412 | printk(" %02x", msgs[i+1].buf[byte]); |
405 | } | 413 | } |
406 | i++; | 414 | i++; |
407 | } else { | 415 | } else { |