[patch v3 36/36] Add extra arch overrides to asm-generic/checksum.h

Richard Kuo
2011-09-09T01:11:47Z

[-- Attachment #1: generic-checksum.diff --]
[-- Type: text/plain, Size: 1619 bytes --]

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>

---
include/asm-generic/checksum.h | 4 ++++
1 file changed, 4 insertions(+)

Index: linux-hexagon-kernel/include/asm-generic/checksum.h
===================================================================
--- linux-hexagon-kernel.orig/include/asm-generic/checksum.h 2011-09-03 20:14:46.214943511 -0500
+++ linux-hexagon-kernel/include/asm-generic/checksum.h 2011-09-03 20:14:59.874981811 -0500
@@ -33,8 +33,10 @@
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 @@
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