aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses
diff options
context:
space:
mode:
authorShubhrajyoti D <shubhrajyoti@ti.com>2012-11-15 03:49:21 -0500
committerWolfram Sang <w.sang@pengutronix.de>2012-11-16 09:18:52 -0500
commit1ab3604595af478e9feea430318c22899015550c (patch)
treedfe185138a1f6be908a5b12fa1d828041cf7934b /drivers/i2c/busses
parent06e9eff129ec4251e5335ecaebe1aabba78091b6 (diff)
i2c: omap: Move the remove constraint
Currently we just queue the transfer and release the qos constraints, however we do not wait for the transfer to complete to release the constraint. Move the remove constraint after the bus busy as we are sure that the transfers are completed by then. Acked-by: Jean Pihet <j-pihet@ti.com> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Diffstat (limited to 'drivers/i2c/busses')
-rw-r--r--drivers/i2c/busses/i2c-omap.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 49b12fb00c90..248280136668 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -654,13 +654,14 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
654 break; 654 break;
655 } 655 }
656 656
657 if (dev->set_mpu_wkup_lat != NULL)
658 dev->set_mpu_wkup_lat(dev->dev, -1);
659
660 if (r == 0) 657 if (r == 0)
661 r = num; 658 r = num;
662 659
663 omap_i2c_wait_for_bb(dev); 660 omap_i2c_wait_for_bb(dev);
661
662 if (dev->set_mpu_wkup_lat != NULL)
663 dev->set_mpu_wkup_lat(dev->dev, -1);
664
664out: 665out:
665 pm_runtime_mark_last_busy(dev->dev); 666 pm_runtime_mark_last_busy(dev->dev);
666 pm_runtime_put_autosuspend(dev->dev); 667 pm_runtime_put_autosuspend(dev->dev);