mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
i2c-algo-bit: Add pre- and post-xfer hooks
Drivers might have to do random things before and/or after I2C transfers. Add hooks to the i2c-algo-bit implementation to let them do so. Signed-off-by: Jean Delvare <[email protected]> Cc: Alex Deucher <[email protected]>
This commit is contained in:
parent
d07b56b309
commit
0a9c147513
2 changed files with 11 additions and 0 deletions
|
|
@ -522,6 +522,12 @@ static int bit_xfer(struct i2c_adapter *i2c_adap,
|
|||
int i, ret;
|
||||
unsigned short nak_ok;
|
||||
|
||||
if (adap->pre_xfer) {
|
||||
ret = adap->pre_xfer(i2c_adap);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bit_dbg(3, &i2c_adap->dev, "emitting start condition\n");
|
||||
i2c_start(adap);
|
||||
for (i = 0; i < num; i++) {
|
||||
|
|
@ -570,6 +576,9 @@ static int bit_xfer(struct i2c_adapter *i2c_adap,
|
|||
bailout:
|
||||
bit_dbg(3, &i2c_adap->dev, "emitting stop condition\n");
|
||||
i2c_stop(adap);
|
||||
|
||||
if (adap->post_xfer)
|
||||
adap->post_xfer(i2c_adap);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue