mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-06 03:53:44 +00:00
This change adds the devm_iio_kfifo_buffer_setup() helper/short-hand, which groups the simple routine of allocating a kfifo buffers via devm_iio_kfifo_allocate() and calling iio_device_attach_buffer(). The mode_flags parameter is required, as the IIO kfifo supports 2 modes: INDIO_BUFFER_SOFTWARE & INDIO_BUFFER_TRIGGERED. The setup_ops parameter is optional. This function will be a bit more useful when needing to define multiple buffers per IIO device. The naming for this function has been inspired from iio_triggered_buffer_setup() since that one does a kfifo alloc + a pollfunc alloc. So, this should have a more familiar ring to what it is. Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com> Link: https://lore.kernel.org/r/20210215104043.91251-3-alexandru.ardelean@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
21 lines
504 B
C
21 lines
504 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __LINUX_IIO_KFIFO_BUF_H__
|
|
#define __LINUX_IIO_KFIFO_BUF_H__
|
|
|
|
struct iio_buffer;
|
|
struct iio_buffer_setup_ops;
|
|
struct iio_dev;
|
|
struct device;
|
|
|
|
struct iio_buffer *iio_kfifo_allocate(void);
|
|
void iio_kfifo_free(struct iio_buffer *r);
|
|
|
|
struct iio_buffer *devm_iio_kfifo_allocate(struct device *dev);
|
|
|
|
int devm_iio_kfifo_buffer_setup(struct device *dev,
|
|
struct iio_dev *indio_dev,
|
|
int mode_flags,
|
|
const struct iio_buffer_setup_ops *setup_ops);
|
|
|
|
#endif
|