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