diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-01-18 15:12:16 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-02-11 20:00:33 +0530 |
commit | 64e69073c35439fa19c2ad2a4a18834e0314f071 (patch) | |
tree | 121d6e719dcf81090ad26778c5d7c89cd43e33e9 | |
parent | 0a5eae458e923af9968679fd75fd1f7670200bc3 (diff) |
asm-generic headers: Allow yet more arch overrides in checksum.h
arches can have more efficient implementation of these routines
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r-- | include/asm-generic/checksum.h | 4 | ||||
-rw-r--r-- | lib/checksum.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-generic/checksum.h b/include/asm-generic/checksum.h index c084767c88b..59811df58c5 100644 --- a/include/asm-generic/checksum.h +++ b/include/asm-generic/checksum.h @@ -38,12 +38,15 @@ extern __wsum csum_partial_copy_from_user(const void __user *src, void *dst, csum_partial_copy((src), (dst), (len), (sum)) #endif +#ifndef ip_fast_csum /* * This is a version of ip_compute_csum() optimized for IP headers, * which always checksum on 4 octet boundaries. */ extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl); +#endif +#ifndef csum_fold /* * Fold a partial checksum */ @@ -54,6 +57,7 @@ static inline __sum16 csum_fold(__wsum csum) sum = (sum & 0xffff) + (sum >> 16); return (__force __sum16)~sum; } +#endif #ifndef csum_tcpudp_nofold /* diff --git a/lib/checksum.c b/lib/checksum.c index 12dceb27ff2..129775eb6de 100644 --- a/lib/checksum.c +++ b/lib/checksum.c @@ -102,6 +102,7 @@ out: } #endif +#ifndef ip_fast_csum /* * This is a version of ip_compute_csum() optimized for IP headers, * which always checksum on 4 octet boundaries. @@ -111,6 +112,7 @@ __sum16 ip_fast_csum(const void *iph, unsigned int ihl) return (__force __sum16)~do_csum(iph, ihl*4); } EXPORT_SYMBOL(ip_fast_csum); +#endif /* * computes the checksum of a memory block at buff, length len, |