summaryrefslogtreecommitdiff
path: root/include/linux/iio/buffer-dmaengine.h
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2015-10-13 19:10:29 +0300
committerJonathan Cameron <jic23@kernel.org>2015-10-25 16:55:32 +0300
commit2d6ca60f328450ff5c7802d0857d12e3711348ce (patch)
tree1e3f39956aef3539819429946cbabf429a7fa1a1 /include/linux/iio/buffer-dmaengine.h
parent670b19ae9bfdbcb4ce2c2ffb2ec1659a7f4a2074 (diff)
downloadlinux-2d6ca60f328450ff5c7802d0857d12e3711348ce.tar.xz
iio: Add a DMAengine framework based buffer
Add a generic fully device independent DMA buffer implementation that uses the DMAegnine framework to perform the DMA transfers. This can be used by converter drivers that whish to provide a DMA buffer for converters that are connected to a DMA core that implements the DMAengine API. Apart from allocating the buffer using iio_dmaengine_buffer_alloc() and freeing it using iio_dmaengine_buffer_free() no additional converter driver specific code is required when using this DMA buffer implementation. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'include/linux/iio/buffer-dmaengine.h')
-rw-r--r--include/linux/iio/buffer-dmaengine.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/iio/buffer-dmaengine.h b/include/linux/iio/buffer-dmaengine.h
new file mode 100644
index 000000000000..5dcddf427bb0
--- /dev/null
+++ b/include/linux/iio/buffer-dmaengine.h
@@ -0,0 +1,18 @@
+/*
+ * Copyright 2014-2015 Analog Devices Inc.
+ * Author: Lars-Peter Clausen <lars@metafoo.de>
+ *
+ * Licensed under the GPL-2 or later.
+ */
+
+#ifndef __IIO_DMAENGINE_H__
+#define __IIO_DMAENGINE_H__
+
+struct iio_buffer;
+struct device;
+
+struct iio_buffer *iio_dmaengine_buffer_alloc(struct device *dev,
+ const char *channel);
+void iio_dmaengine_buffer_free(struct iio_buffer *buffer);
+
+#endif