Commit 6e3ecaf0ad49de0bed829d409a164e7107c02993
Committed by
Dan Williams
1 parent
782bc950d8
Exists in
master
and in
7 other branches
dmaengine: add wrapper functions for device control functions
Add wrapper functions around the dma_device->device_control function to bring back type safety. Also, add a wrapper function around dma_async_tx_descriptor->tx_submit. This is named dmaengine_submit instead of dmaengine_tx_submit to get rid of the confusing 'tx' in the function name Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Showing 1 changed file with 34 additions and 0 deletions Side-by-side Diff
include/linux/dmaengine.h
... | ... | @@ -494,6 +494,40 @@ |
494 | 494 | void (*device_issue_pending)(struct dma_chan *chan); |
495 | 495 | }; |
496 | 496 | |
497 | +static inline int dmaengine_device_control(struct dma_chan *chan, | |
498 | + enum dma_ctrl_cmd cmd, | |
499 | + unsigned long arg) | |
500 | +{ | |
501 | + return chan->device->device_control(chan, cmd, arg); | |
502 | +} | |
503 | + | |
504 | +static inline int dmaengine_slave_config(struct dma_chan *chan, | |
505 | + struct dma_slave_config *config) | |
506 | +{ | |
507 | + return dmaengine_device_control(chan, DMA_SLAVE_CONFIG, | |
508 | + (unsigned long)config); | |
509 | +} | |
510 | + | |
511 | +static inline int dmaengine_terminate_all(struct dma_chan *chan) | |
512 | +{ | |
513 | + return dmaengine_device_control(chan, DMA_TERMINATE_ALL, 0); | |
514 | +} | |
515 | + | |
516 | +static inline int dmaengine_pause(struct dma_chan *chan) | |
517 | +{ | |
518 | + return dmaengine_device_control(chan, DMA_PAUSE, 0); | |
519 | +} | |
520 | + | |
521 | +static inline int dmaengine_resume(struct dma_chan *chan) | |
522 | +{ | |
523 | + return dmaengine_device_control(chan, DMA_RESUME, 0); | |
524 | +} | |
525 | + | |
526 | +static inline int dmaengine_submit(struct dma_async_tx_descriptor *desc) | |
527 | +{ | |
528 | + return desc->tx_submit(desc); | |
529 | +} | |
530 | + | |
497 | 531 | static inline bool dmaengine_check_align(u8 align, size_t off1, size_t off2, size_t len) |
498 | 532 | { |
499 | 533 | size_t mask; |