diff options
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r-- | include/linux/dmaengine.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 8fbf40e0713c..75f53f874b24 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -24,8 +24,9 @@ | |||
24 | #include <linux/device.h> | 24 | #include <linux/device.h> |
25 | #include <linux/uio.h> | 25 | #include <linux/uio.h> |
26 | #include <linux/dma-direction.h> | 26 | #include <linux/dma-direction.h> |
27 | 27 | #include <linux/scatterlist.h> | |
28 | struct scatterlist; | 28 | #include <linux/bitmap.h> |
29 | #include <asm/page.h> | ||
29 | 30 | ||
30 | /** | 31 | /** |
31 | * typedef dma_cookie_t - an opaque DMA cookie | 32 | * typedef dma_cookie_t - an opaque DMA cookie |
@@ -519,6 +520,16 @@ static inline int dmaengine_slave_config(struct dma_chan *chan, | |||
519 | (unsigned long)config); | 520 | (unsigned long)config); |
520 | } | 521 | } |
521 | 522 | ||
523 | static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( | ||
524 | struct dma_chan *chan, void *buf, size_t len, | ||
525 | enum dma_data_direction dir, unsigned long flags) | ||
526 | { | ||
527 | struct scatterlist sg; | ||
528 | sg_init_one(&sg, buf, len); | ||
529 | |||
530 | return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags); | ||
531 | } | ||
532 | |||
522 | static inline int dmaengine_terminate_all(struct dma_chan *chan) | 533 | static inline int dmaengine_terminate_all(struct dma_chan *chan) |
523 | { | 534 | { |
524 | return dmaengine_device_control(chan, DMA_TERMINATE_ALL, 0); | 535 | return dmaengine_device_control(chan, DMA_TERMINATE_ALL, 0); |