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
|
||||
|
||||
'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
|
||||
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
|
||||
to be done, though.
|
||||
there is nothing to process or return. After returning, the bus driver must
|
||||
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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue