Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20c1f641 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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: default avatarArnd Bergmann <arnd@arndb.de>
parent c44ba9f6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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 @@ static unsigned int do_csum(const unsigned char *buff, int len)
out:
	return result;
}
#endif

/*
 *	This is a version of ip_compute_csum() optimized for IP headers,