mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-12-22 12:17:45 +01:00
Add a new devm_iio_dmaengine_buffer_setup_with_handle() function to handle cases where the DMA channel is managed by the caller rather than being requested and released by the iio_dmaengine module. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://patch.msgid.link/20250207-dlech-mainline-spi-engine-offload-2-v8-9-e48a489be48c@baylibre.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
/* 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
|