| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* |
| * Copyright 2014-2015 Analog Devices Inc. |
| * Author: Lars-Peter Clausen <lars@metafoo.de> |
| */ |
| |
| #ifndef __IIO_DMAENGINE_H__ |
| #define __IIO_DMAENGINE_H__ |
| |
| #include <linux/iio/buffer.h> |
| |
| struct iio_dev; |
| struct device; |
| struct dma_chan; |
| |
| void iio_dmaengine_buffer_teardown(struct iio_buffer *buffer); |
| struct iio_buffer *iio_dmaengine_buffer_setup_ext(struct device *dev, |
| struct iio_dev *indio_dev, |
| const char *channel, |
| enum iio_buffer_direction dir); |
| |
| #define iio_dmaengine_buffer_setup(dev, indio_dev, channel) \ |
| iio_dmaengine_buffer_setup_ext(dev, indio_dev, channel, \ |
| IIO_BUFFER_DIRECTION_IN) |
| |
| int devm_iio_dmaengine_buffer_setup_ext(struct device *dev, |
| struct iio_dev *indio_dev, |
| const char *channel, |
| enum iio_buffer_direction dir); |
| int devm_iio_dmaengine_buffer_setup_with_handle(struct device *dev, |
| struct iio_dev *indio_dev, |
| struct dma_chan *chan, |
| enum iio_buffer_direction dir); |
| |
| #define devm_iio_dmaengine_buffer_setup(dev, indio_dev, channel) \ |
| devm_iio_dmaengine_buffer_setup_ext(dev, indio_dev, channel, \ |
| IIO_BUFFER_DIRECTION_IN) |
| |
| #endif |