summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinas Vepstas <linas@codeaurora.org>2011-10-31 18:56:59 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-11-01 07:34:21 -0700
commit4e29198e1cd7728c30c96a8483a6068c71b34e4e (patch)
tree780c0bb634c2161a89616eeb84d140d6ec641d3d
parent4f4567cf4ff586e318aa1bc586a69570d64b162a (diff)
downloadlinux-3.10-4e29198e1cd7728c30c96a8483a6068c71b34e4e.tar.gz
linux-3.10-4e29198e1cd7728c30c96a8483a6068c71b34e4e.tar.bz2
linux-3.10-4e29198e1cd7728c30c96a8483a6068c71b34e4e.zip
Add extra arch overrides to asm-generic/checksum.h
There are plausible reasons for architectures to provide their own versions of csum_partial_copy_nocheck and csum_tcpudp_magic. By protecting these, the architecture can still re-use the asm-generic checksum.h, instead of copying it. Signed-off-by: Linas Vepstas <linas@codeaurora.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Richard Kuo <rkuo@codeaurora.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/asm-generic/checksum.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-generic/checksum.h b/include/asm-generic/checksum.h
index 4647c762d97..c084767c88b 100644
--- a/include/asm-generic/checksum.h
+++ b/include/asm-generic/checksum.h
@@ -33,8 +33,10 @@ extern __wsum csum_partial_copy(const void *src, void *dst, int len, __wsum sum)
extern __wsum csum_partial_copy_from_user(const void __user *src, void *dst,
int len, __wsum sum, int *csum_err);
+#ifndef csum_partial_copy_nocheck
#define csum_partial_copy_nocheck(src, dst, len, sum) \
csum_partial_copy((src), (dst), (len), (sum))
+#endif
/*
* This is a version of ip_compute_csum() optimized for IP headers,
@@ -63,12 +65,14 @@ csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
unsigned short proto, __wsum sum);
#endif
+#ifndef csum_tcpudp_magic
static inline __sum16
csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len,
unsigned short proto, __wsum sum)
{
return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum));
}
+#endif
/*
* this routine is used for miscellaneous IP-like checksums, mainly