async_tx: provide __async_inline for HAS_DMA=n archs
To allow an async_tx routine to be compiled away on HAS_DMA=n arch it needs to be declared __always_inline otherwise the compiler may emit code and cause a link error. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
54aee6a5f5
commit
06164f3194
2 changed files with 11 additions and 5 deletions
|
@ -30,11 +30,8 @@
|
|||
#include <linux/raid/xor.h>
|
||||
#include <linux/async_tx.h>
|
||||
|
||||
/* do_async_xor - dma map the pages and perform the xor with an engine.
|
||||
* This routine is marked __always_inline so it can be compiled away
|
||||
* when CONFIG_DMA_ENGINE=n
|
||||
*/
|
||||
static __always_inline struct dma_async_tx_descriptor *
|
||||
/* do_async_xor - dma map the pages and perform the xor with an engine */
|
||||
static __async_inline struct dma_async_tx_descriptor *
|
||||
do_async_xor(struct dma_chan *chan, struct page *dest, struct page **src_list,
|
||||
unsigned int offset, int src_cnt, size_t len,
|
||||
enum async_tx_flags flags,
|
||||
|
|
|
@ -21,6 +21,15 @@
|
|||
#include <linux/spinlock.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
/* on architectures without dma-mapping capabilities we need to ensure
|
||||
* that the asynchronous path compiles away
|
||||
*/
|
||||
#ifdef CONFIG_HAS_DMA
|
||||
#define __async_inline
|
||||
#else
|
||||
#define __async_inline __always_inline
|
||||
#endif
|
||||
|
||||
/**
|
||||
* dma_chan_ref - object used to manage dma channels received from the
|
||||
* dmaengine core.
|
||||
|
|
Loading…
Reference in a new issue