mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
i2c: slave-eeprom: add more info when to increase the pointer
It is a bit subtle when to correctly increase the buffer index when reading. Make this clearer by adding some more comments and pointers to the docs. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Uwe Kleine-König <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
This commit is contained in:
parent
d0c892f59c
commit
98e982b3a2
1 changed files with 6 additions and 0 deletions
|
|
@ -48,12 +48,18 @@ static int i2c_slave_eeprom_slave_cb(struct i2c_client *client,
|
|||
break;
|
||||
|
||||
case I2C_SLAVE_READ_PROCESSED:
|
||||
/* The previous byte made it to the bus, get next one */
|
||||
eeprom->buffer_idx++;
|
||||
/* fallthrough */
|
||||
case I2C_SLAVE_READ_REQUESTED:
|
||||
spin_lock(&eeprom->buffer_lock);
|
||||
*val = eeprom->buffer[eeprom->buffer_idx];
|
||||
spin_unlock(&eeprom->buffer_lock);
|
||||
/*
|
||||
* Do not increment buffer_idx here, because we don't know if
|
||||
* this byte will be actually used. Read Linux I2C slave docs
|
||||
* for details.
|
||||
*/
|
||||
break;
|
||||
|
||||
case I2C_SLAVE_STOP:
|
||||
|
|
|
|||
Loading…
Reference in a new issue