at v5.13 1.1 kB view raw
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 7struct attribute; 8struct iio_dev; 9struct iio_buffer_setup_ops; 10 11int iio_triggered_buffer_setup_ext(struct iio_dev *indio_dev, 12 irqreturn_t (*h)(int irq, void *p), 13 irqreturn_t (*thread)(int irq, void *p), 14 const struct iio_buffer_setup_ops *setup_ops, 15 const struct attribute **buffer_attrs); 16void iio_triggered_buffer_cleanup(struct iio_dev *indio_dev); 17 18#define iio_triggered_buffer_setup(indio_dev, h, thread, setup_ops) \ 19 iio_triggered_buffer_setup_ext((indio_dev), (h), (thread), (setup_ops), NULL) 20 21int devm_iio_triggered_buffer_setup_ext(struct device *dev, 22 struct iio_dev *indio_dev, 23 irqreturn_t (*h)(int irq, void *p), 24 irqreturn_t (*thread)(int irq, void *p), 25 const struct iio_buffer_setup_ops *ops, 26 const struct attribute **buffer_attrs); 27 28#define devm_iio_triggered_buffer_setup(dev, indio_dev, h, thread, setup_ops) \ 29 devm_iio_triggered_buffer_setup_ext((dev), (indio_dev), (h), (thread), (setup_ops), NULL) 30 31#endif