1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_IIO_TRIGGERED_BUFFER_H_
3 #define _LINUX_IIO_TRIGGERED_BUFFER_H_
4 
5 #include <linux/interrupt.h>
6 
7 struct iio_dev;
8 struct iio_buffer_setup_ops;
9 
10 int iio_triggered_buffer_setup(struct iio_dev *indio_dev,
11 	irqreturn_t (*h)(int irq, void *p),
12 	irqreturn_t (*thread)(int irq, void *p),
13 	const struct iio_buffer_setup_ops *setup_ops);
14 void iio_triggered_buffer_cleanup(struct iio_dev *indio_dev);
15 
16 int devm_iio_triggered_buffer_setup(struct device *dev,
17 				    struct iio_dev *indio_dev,
18 				    irqreturn_t (*h)(int irq, void *p),
19 				    irqreturn_t (*thread)(int irq, void *p),
20 				    const struct iio_buffer_setup_ops *ops);
21 void devm_iio_triggered_buffer_cleanup(struct device *dev,
22 				       struct iio_dev *indio_dev);
23 
24 #endif
25