aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2011-01-12 17:24:36 -0500
committerBen Dooks <ben-linux@fluff.org>2011-01-12 17:24:36 -0500
commit7f42f9fef7bbc4f3250a33bf58170c640cd3db18 (patch)
tree1414676d0fa9a4d51bfb95bbb758f6141657f907 /drivers
parentcc3feac34617ec685551905507cd8d909be6431f (diff)
parent6a91b558648cffa94227b4ff9c6c996930bbdfd2 (diff)
Merge branch 'for-2638/i2c/omap' into for-linus/i2c-2638
Diffstat (limited to 'drivers')
-rw-r--r--drivers/i2c/busses/i2c-omap.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 9d090833e245..b605ff3a1fa0 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -598,12 +598,8 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
598 * REVISIT: We should abort the transfer on signals, but the bus goes 598 * REVISIT: We should abort the transfer on signals, but the bus goes
599 * into arbitration and we're currently unable to recover from it. 599 * into arbitration and we're currently unable to recover from it.
600 */ 600 */
601 if (dev->set_mpu_wkup_lat != NULL)
602 dev->set_mpu_wkup_lat(dev->dev, dev->latency);
603 r = wait_for_completion_timeout(&dev->cmd_complete, 601 r = wait_for_completion_timeout(&dev->cmd_complete,
604 OMAP_I2C_TIMEOUT); 602 OMAP_I2C_TIMEOUT);
605 if (dev->set_mpu_wkup_lat != NULL)
606 dev->set_mpu_wkup_lat(dev->dev, -1);
607 dev->buf_len = 0; 603 dev->buf_len = 0;
608 if (r < 0) 604 if (r < 0)
609 return r; 605 return r;
@@ -654,12 +650,18 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
654 if (r < 0) 650 if (r < 0)
655 goto out; 651 goto out;
656 652
653 if (dev->set_mpu_wkup_lat != NULL)
654 dev->set_mpu_wkup_lat(dev->dev, dev->latency);
655
657 for (i = 0; i < num; i++) { 656 for (i = 0; i < num; i++) {
658 r = omap_i2c_xfer_msg(adap, &msgs[i], (i == (num - 1))); 657 r = omap_i2c_xfer_msg(adap, &msgs[i], (i == (num - 1)));
659 if (r != 0) 658 if (r != 0)
660 break; 659 break;
661 } 660 }
662 661
662 if (dev->set_mpu_wkup_lat != NULL)
663 dev->set_mpu_wkup_lat(dev->dev, -1);
664
663 if (r == 0) 665 if (r == 0)
664 r = num; 666 r = num;
665 667