diff options
Diffstat (limited to 'include/linux/iio/buffer_impl.h')
| -rw-r--r-- | include/linux/iio/buffer_impl.h | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/include/linux/iio/buffer_impl.h b/include/linux/iio/buffer_impl.h index 245b32918ae1..e2ca8ea23e19 100644 --- a/include/linux/iio/buffer_impl.h +++ b/include/linux/iio/buffer_impl.h @@ -7,6 +7,7 @@  #ifdef CONFIG_IIO_BUFFER  #include <uapi/linux/iio/buffer.h> +#include <linux/iio/buffer.h>  struct iio_dev;  struct iio_buffer; @@ -23,6 +24,10 @@ struct iio_buffer;   * @read:		try to get a specified number of bytes (must exist)   * @data_available:	indicates how much data is available for reading from   *			the buffer. + * @remove_from:	remove scan from buffer. Drivers should calls this to + *			remove a scan from a buffer. + * @write:		try to write a number of bytes + * @space_available:	returns the amount of bytes available in a buffer   * @request_update:	if a parameter change has been marked, update underlying   *			storage.   * @set_bytes_per_datum:set number of bytes per datum @@ -49,6 +54,9 @@ struct iio_buffer_access_funcs {  	int (*store_to)(struct iio_buffer *buffer, const void *data);  	int (*read)(struct iio_buffer *buffer, size_t n, char __user *buf);  	size_t (*data_available)(struct iio_buffer *buffer); +	int (*remove_from)(struct iio_buffer *buffer, void *data); +	int (*write)(struct iio_buffer *buffer, size_t n, const char __user *buf); +	size_t (*space_available)(struct iio_buffer *buffer);  	int (*request_update)(struct iio_buffer *buffer); @@ -80,6 +88,9 @@ struct iio_buffer {  	/**  @bytes_per_datum: Size of individual datum including timestamp. */  	size_t bytes_per_datum; +	/* @direction: Direction of the data stream (in/out). */ +	enum iio_buffer_direction direction; +  	/**  	 * @access: Buffer access functions associated with the  	 * implementation. |