aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dmaengine.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-01-05 19:14:31 -0500
committerDan Williams <dan.j.williams@intel.com>2009-01-05 20:10:19 -0500
commit07f2211e4fbce6990722d78c4f04225da9c0e9cf (patch)
tree51934e20a334e93c8c399d2e6375f264551e9bc3 /include/linux/dmaengine.h
parent28405d8d9ce05f5bd869ef8b48da5086f9527d73 (diff)
dmaengine: remove dependency on async_tx
async_tx.ko is a consumer of dma channels. A circular dependency arises if modules in drivers/dma rely on common code in async_tx.ko. It prevents either module from being unloaded. Move dma_wait_for_async_tx and async_tx_run_dependencies to dmaeninge.o where they should have been from the beginning. Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r--include/linux/dmaengine.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index adb0b084eb5..e4ec7e7b805 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -475,11 +475,20 @@ static inline enum dma_status dma_async_is_complete(dma_cookie_t cookie,
475} 475}
476 476
477enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie); 477enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie);
478#ifdef CONFIG_DMA_ENGINE
479enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx);
480#else
481static inline enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx)
482{
483 return DMA_SUCCESS;
484}
485#endif
478 486
479/* --- DMA device --- */ 487/* --- DMA device --- */
480 488
481int dma_async_device_register(struct dma_device *device); 489int dma_async_device_register(struct dma_device *device);
482void dma_async_device_unregister(struct dma_device *device); 490void dma_async_device_unregister(struct dma_device *device);
491void dma_run_dependencies(struct dma_async_tx_descriptor *tx);
483 492
484/* --- Helper iov-locking functions --- */ 493/* --- Helper iov-locking functions --- */
485 494