GNU Linux-libre 4.9.318-gnu1
[releases.git] / include / linux / iio / triggered_buffer.h
1 #ifndef _LINUX_IIO_TRIGGERED_BUFFER_H_
2 #define _LINUX_IIO_TRIGGERED_BUFFER_H_
3
4 #include <linux/interrupt.h>
5
6 struct iio_dev;
7 struct iio_buffer_setup_ops;
8
9 int iio_triggered_buffer_setup(struct iio_dev *indio_dev,
10         irqreturn_t (*h)(int irq, void *p),
11         irqreturn_t (*thread)(int irq, void *p),
12         const struct iio_buffer_setup_ops *setup_ops);
13 void iio_triggered_buffer_cleanup(struct iio_dev *indio_dev);
14
15 int devm_iio_triggered_buffer_setup(struct device *dev,
16                                     struct iio_dev *indio_dev,
17                                     irqreturn_t (*h)(int irq, void *p),
18                                     irqreturn_t (*thread)(int irq, void *p),
19                                     const struct iio_buffer_setup_ops *ops);
20 void devm_iio_triggered_buffer_cleanup(struct device *dev,
21                                        struct iio_dev *indio_dev);
22
23 #endif