diff options
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r-- | include/linux/dmaengine.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 1ceff5ae9d3..75f53f874b2 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -24,11 +24,10 @@ #include <linux/device.h> #include <linux/uio.h> #include <linux/dma-direction.h> +#include <linux/scatterlist.h> #include <linux/bitmap.h> #include <asm/page.h> -struct scatterlist; - /** * typedef dma_cookie_t - an opaque DMA cookie * @@ -521,6 +520,16 @@ static inline int dmaengine_slave_config(struct dma_chan *chan, (unsigned long)config); } +static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( + struct dma_chan *chan, void *buf, size_t len, + enum dma_data_direction dir, unsigned long flags) +{ + struct scatterlist sg; + sg_init_one(&sg, buf, len); + + return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags); +} + static inline int dmaengine_terminate_all(struct dma_chan *chan) { return dmaengine_device_control(chan, DMA_TERMINATE_ALL, 0); |