diff options
author | Johan Hovold <johan@kernel.org> | 2017-11-03 17:30:54 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-11-28 18:03:35 +0300 |
commit | 10f9e033c1e0e8563699b5839a2ff7f565dd72b2 (patch) | |
tree | 32b207d27a797ece816a7a02821335eadcd62d2c /include/linux/serdev.h | |
parent | 1f043572cbbee03f1de814e312f9dc11251fdc5a (diff) | |
download | linux-10f9e033c1e0e8563699b5839a2ff7f565dd72b2.tar.xz |
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>
Diffstat (limited to 'include/linux/serdev.h')
-rw-r--r-- | include/linux/serdev.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/serdev.h b/include/linux/serdev.h index 9929063bd45d..d7a9713e9883 100644 --- a/include/linux/serdev.h +++ b/include/linux/serdev.h @@ -27,8 +27,10 @@ struct serdev_device; /** * struct serdev_device_ops - Callback operations for a serdev device - * @receive_buf: Function called with data received from device. - * @write_wakeup: Function called when ready to transmit more data. + * @receive_buf: Function called with data received from device; + * returns number of bytes accepted; may sleep. + * @write_wakeup: Function called when ready to transmit more data; must + * not sleep. */ struct serdev_device_ops { int (*receive_buf)(struct serdev_device *, const unsigned char *, size_t); |