lib/checksum.c: make do_csum optional
Mike Frysinger suggested that do_csum should be optional
so that an architecture can use the generic checksum code
but still provide an optimized fast-path for the most
critical function.
This can mean an implementation using inline assembly,
or in case of Alpha one using 64-bit arithmetic in C.
Cc: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
diff --git a/lib/checksum.c b/lib/checksum.c
index 886b48d..b08c2d0 100644
--- a/lib/checksum.c
+++ b/lib/checksum.c
@@ -37,6 +37,7 @@
#include <asm/byteorder.h>
+#ifndef do_csum
static inline unsigned short from32to16(unsigned int x)
{
/* add up 16-bit and 16-bit for 16+c bit */
@@ -102,6 +103,7 @@
out:
return result;
}
+#endif
/*
* This is a version of ip_compute_csum() optimized for IP headers,