at v6.17 1.2 kB view raw
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Copyright 2014-2015 Analog Devices Inc. 4 * Author: Lars-Peter Clausen <lars@metafoo.de> 5 */ 6 7#ifndef __IIO_DMAENGINE_H__ 8#define __IIO_DMAENGINE_H__ 9 10#include <linux/iio/buffer.h> 11 12struct iio_dev; 13struct device; 14struct dma_chan; 15 16void iio_dmaengine_buffer_teardown(struct iio_buffer *buffer); 17struct iio_buffer *iio_dmaengine_buffer_setup_ext(struct device *dev, 18 struct iio_dev *indio_dev, 19 const char *channel, 20 enum iio_buffer_direction dir); 21 22#define iio_dmaengine_buffer_setup(dev, indio_dev, channel) \ 23 iio_dmaengine_buffer_setup_ext(dev, indio_dev, channel, \ 24 IIO_BUFFER_DIRECTION_IN) 25 26int devm_iio_dmaengine_buffer_setup_ext(struct device *dev, 27 struct iio_dev *indio_dev, 28 const char *channel, 29 enum iio_buffer_direction dir); 30int devm_iio_dmaengine_buffer_setup_with_handle(struct device *dev, 31 struct iio_dev *indio_dev, 32 struct dma_chan *chan, 33 enum iio_buffer_direction dir); 34 35#define devm_iio_dmaengine_buffer_setup(dev, indio_dev, channel) \ 36 devm_iio_dmaengine_buffer_setup_ext(dev, indio_dev, channel, \ 37 IIO_BUFFER_DIRECTION_IN) 38 39#endif