summaryrefslogtreecommitdiffstats
path: root/include/asm-cris/arch-v10/checksum.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-11-15 06:15:19 +0100
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-03 06:23:02 +0100
commit3532010bcf7699f2ce9a2baab58b4b9a5426d97e (patch)
tree47d1c423fe2345bea93ff3a576363971b9b0a572 /include/asm-cris/arch-v10/checksum.h
parent[NET]: Alpha checksum annotations and cleanups. (diff)
downloadlinux-3532010bcf7699f2ce9a2baab58b4b9a5426d97e.tar.xz
linux-3532010bcf7699f2ce9a2baab58b4b9a5426d97e.zip
[NET]: Cris checksum annotations and cleanups.
* sanitize prototypes and annotate * kill cast-as-lvalue abuses in csum_partial() * usual ntohs-equals-shift for checksum purposes Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-cris/arch-v10/checksum.h')
-rw-r--r--include/asm-cris/arch-v10/checksum.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/asm-cris/arch-v10/checksum.h b/include/asm-cris/arch-v10/checksum.h
index 633f234f336b..b8000c5d7fe1 100644
--- a/include/asm-cris/arch-v10/checksum.h
+++ b/include/asm-cris/arch-v10/checksum.h
@@ -8,11 +8,11 @@
* to split all of those into 16-bit components, then add.
*/
-static inline unsigned int
-csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len,
- unsigned short proto, unsigned int sum)
+static inline __wsum
+csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
+ unsigned short proto, __wsum sum)
{
- int res;
+ __wsum res;
__asm__ ("add.d %2, %0\n\t"
"ax\n\t"
"add.d %3, %0\n\t"
@@ -21,7 +21,7 @@ csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len,
"ax\n\t"
"addq 0, %0\n"
: "=r" (res)
- : "0" (sum), "r" (daddr), "r" (saddr), "r" ((ntohs(len) << 16) + (proto << 8)));
+ : "0" (sum), "r" (daddr), "r" (saddr), "r" ((len + proto) << 8));
return res;
}