Re: crypto/async_tx/* doesn't build on s390

From: Dan Williams
Date: Sun Feb 03 2008 - 09:11:22 EST


On Feb 3, 2008 4:40 AM, Heiko Carstens <heiko.carstens@xxxxxxxxxx> wrote:
> On Fri, Feb 01, 2008 at 02:31:28PM -0700, Dan Williams wrote:
[..]
> The fix works for me. Thanks! However your mailer replaced tabs with spaces
> and added an extra line break.
>

The attached patch is slightly cleaner, and still works. It marks
do_async_xor as '__always_inline'.

I have pushed this out to a git repository [1] and will be requesting
a pull later today.

--
Dan

[1] git://lost.foo-projects.org/~dwillia2/git/iop async-tx-for-linus
async_tx: fix compile breakage, mark do_async_xor __always_inline

From: Dan Williams <dan.j.williams@xxxxxxxxx>

do_async_xor must be compiled away on !HAS_DMA archs.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
---

crypto/async_tx/async_xor.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)


diff --git a/crypto/async_tx/async_xor.c b/crypto/async_tx/async_xor.c
index 2575f67..716885a 100644
--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -30,7 +30,11 @@
#include <linux/raid/xor.h>
#include <linux/async_tx.h>

-static void
+/* 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 void
do_async_xor(struct dma_async_tx_descriptor *tx, struct dma_device *device,
struct dma_chan *chan, struct page *dest, struct page **src_list,
unsigned int offset, unsigned int src_cnt, size_t len,