GNU Linux-libre 4.14.290-gnu1
[releases.git] / include / linux / iio / triggered_buffer.h
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