diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-11 17:36:13 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-28 13:18:45 +0900 |
commit | fcfdd0f14f94d47f2f650a24cd111e11475ccada (patch) | |
tree | 3aa31620c31d66fb1ed72a93a3345e454f1df652 /include/asm-sh64 | |
parent | 63e2c803326babe74033b3cbe6e8c550037c554f (diff) | |
download | linux-fcfdd0f14f94d47f2f650a24cd111e11475ccada.tar.gz linux-fcfdd0f14f94d47f2f650a24cd111e11475ccada.tar.bz2 linux-fcfdd0f14f94d47f2f650a24cd111e11475ccada.zip |
sh: Split out checksum.h in to _32 and _64 variants.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh64')
-rw-r--r-- | include/asm-sh64/checksum.h | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/include/asm-sh64/checksum.h b/include/asm-sh64/checksum.h deleted file mode 100644 index ba594ccb42e5..000000000000 --- a/include/asm-sh64/checksum.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef __ASM_SH64_CHECKSUM_H -#define __ASM_SH64_CHECKSUM_H - -/* - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file "COPYING" in the main directory of this archive - * for more details. - * - * include/asm-sh64/checksum.h - * - * Copyright (C) 2000, 2001 Paolo Alberelli - * - */ - -#include <asm/registers.h> - -/* - * computes the checksum of a memory block at buff, length len, - * and adds in "sum" (32-bit) - * - * returns a 32-bit number suitable for feeding into itself - * or csum_tcpudp_magic - * - * this function must be called with even lengths, except - * for the last fragment, which may be odd - * - * it's best to have buff aligned on a 32-bit boundary - */ -asmlinkage __wsum csum_partial(const void *buff, int len, __wsum sum); - -/* - * Note: when you get a NULL pointer exception here this means someone - * passed in an incorrect kernel address to one of these functions. - * - * If you use these functions directly please don't forget the - * access_ok(). - */ - - -__wsum csum_partial_copy_nocheck(const void *src, void *dst, int len, - __wsum sum); - -__wsum csum_partial_copy_from_user(const void __user *src, void *dst, - int len, __wsum sum, int *err_ptr); - -static inline __sum16 csum_fold(__wsum csum) -{ - u32 sum = (__force u32)csum; - sum = (sum & 0xffff) + (sum >> 16); - sum = (sum & 0xffff) + (sum >> 16); - return (__force __sum16)~sum; -} - -__sum16 ip_fast_csum(const void *iph, unsigned int ihl); - -__wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr, - unsigned short len, unsigned short proto, - __wsum sum); - -/* - * computes the checksum of the TCP/UDP pseudo-header - * returns a 16-bit checksum, already complemented - */ -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)); -} - -/* - * this routine is used for miscellaneous IP-like checksums, mainly - * in icmp.c - */ -static inline __sum16 ip_compute_csum(const void *buff, int len) -{ - return csum_fold(csum_partial(buff, len, 0)); -} - -#endif /* __ASM_SH64_CHECKSUM_H */ - |