mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
i2c: Add an interface to lock/unlock an I2C bus segment
Some drivers need to be able to prevent access to an I2C bus segment for a specific period of time. Add an interface for them to do so without twiddling with i2c-core internals. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Ben Hutchings <[email protected]>
This commit is contained in:
parent
3806e94b01
commit
afa08974fe
2 changed files with 20 additions and 2 deletions
|
|
@ -188,7 +188,7 @@ static int sfn4111t_reset(struct efx_nic *efx)
|
|||
efx_oword_t reg;
|
||||
|
||||
/* GPIO 3 and the GPIO register are shared with I2C, so block that */
|
||||
mutex_lock(&efx->i2c_adap.bus_lock);
|
||||
i2c_lock_adapter(&efx->i2c_adap);
|
||||
|
||||
/* Pull RST_N (GPIO 2) low then let it up again, setting the
|
||||
* FLASH_CFG_1 strap (GPIO 3) appropriately. Only change the
|
||||
|
|
@ -204,7 +204,7 @@ static int sfn4111t_reset(struct efx_nic *efx)
|
|||
falcon_write(efx, ®, GPIO_CTL_REG_KER);
|
||||
msleep(1);
|
||||
|
||||
mutex_unlock(&efx->i2c_adap.bus_lock);
|
||||
i2c_unlock_adapter(&efx->i2c_adap);
|
||||
|
||||
ssleep(1);
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue