docs: i2c: slave-interface: return errno when handle I2C_SLAVE_WRITE_REQUESTED
In case backend is not ready, ie: fail to wakeup or initialization, on the returning of the I2C_SLAVE_WRITE_REQUESTED event, bus driver should aware the backend status and might auto sending NACK on the next incoming bytes for I2C master to retry. Signed-off-by: Quan Nguyen <quan@os.amperecomputing.com> Links:https://lore.kernel.org/linux-arm-kernel/556fa9e1-c54b-8370-4de7-c2d3ec7d6906@os.amperecomputing.com/ [wsa: made some wording more precise] Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
parent
be18c5ede2
commit
09a7bab68b
|
@ -72,12 +72,15 @@ Event types:
|
||||||
|
|
||||||
'val': unused
|
'val': unused
|
||||||
|
|
||||||
'ret': always 0
|
'ret': 0 if the backend is ready, otherwise some errno
|
||||||
|
|
||||||
Another I2C master wants to write data to us. This event should be sent once
|
Another I2C master wants to write data to us. This event should be sent once
|
||||||
our own address and the write bit was detected. The data did not arrive yet, so
|
our own address and the write bit was detected. The data did not arrive yet, so
|
||||||
there is nothing to process or return. Wakeup or initialization probably needs
|
there is nothing to process or return. After returning, the bus driver must
|
||||||
to be done, though.
|
always ack the address phase. If 'ret' is zero, backend initialization or
|
||||||
|
wakeup is done and further data may be received. If 'ret' is an errno, the bus
|
||||||
|
driver should nack all incoming bytes until the next stop condition to enforce
|
||||||
|
a retry of the transmission.
|
||||||
|
|
||||||
* I2C_SLAVE_READ_REQUESTED (mandatory)
|
* I2C_SLAVE_READ_REQUESTED (mandatory)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue