summaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses
diff options
context:
space:
mode:
authorShubhrajyoti D2012-11-15 09:49:21 +0100
committerWolfram Sang2012-11-16 15:18:52 +0100
commit1ab3604595af478e9feea430318c22899015550c (patch)
treedfe185138a1f6be908a5b12fa1d828041cf7934b /drivers/i2c/busses
parentARM: dts: cfa10049: Add the i2c muxer buses to the CFA-10049 (diff)
downloadkernel-qcow2-linux-1ab3604595af478e9feea430318c22899015550c.tar.gz
kernel-qcow2-linux-1ab3604595af478e9feea430318c22899015550c.tar.xz
kernel-qcow2-linux-1ab3604595af478e9feea430318c22899015550c.zip
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)
break;
}
- if (dev->set_mpu_wkup_lat != NULL)
- dev->set_mpu_wkup_lat(dev->dev, -1);
-
if (r == 0)
r = num;
omap_i2c_wait_for_bb(dev);
+
+ if (dev->set_mpu_wkup_lat != NULL)
+ dev->set_mpu_wkup_lat(dev->dev, -1);
+
out:
pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);