serdev: document driver callbacks

Amend the driver-callback kerneldoc with calling context and expected
return values.

Note that this is based on the requirements and characteristics of the
tty-port controller implementation which receives data in workqueue
context and whose write_wakeup callback must not sleep.

Also note that while the receive_buf callback returns an integer, the
returned value is still expected to be non-negative (and no greater than
the buffer-size argument).

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Johan Hovold 2017-11-03 15:30:54 +01:00 committed by Greg Kroah-Hartman
parent 1f043572cb
commit 10f9e033c1

View File

@ -27,8 +27,10 @@ struct serdev_device;
/** /**
* struct serdev_device_ops - Callback operations for a serdev device * struct serdev_device_ops - Callback operations for a serdev device
* @receive_buf: Function called with data received from device. * @receive_buf: Function called with data received from device;
* @write_wakeup: Function called when ready to transmit more data. * returns number of bytes accepted; may sleep.
* @write_wakeup: Function called when ready to transmit more data; must
* not sleep.
*/ */
struct serdev_device_ops { struct serdev_device_ops {
int (*receive_buf)(struct serdev_device *, const unsigned char *, size_t); int (*receive_buf)(struct serdev_device *, const unsigned char *, size_t);