git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
x86_64
/
lib
/
csum-partial.c
diff --git
a/arch/x86_64/lib/csum-partial.c
b/arch/x86_64/lib/csum-partial.c
index
5384e22
..
bc503f5
100644
(file)
--- a/
arch/x86_64/lib/csum-partial.c
+++ b/
arch/x86_64/lib/csum-partial.c
@@
-9,8
+9,6
@@
#include <linux/module.h>
#include <asm/checksum.h>
#include <linux/module.h>
#include <asm/checksum.h>
-#define __force_inline inline __attribute__((always_inline))
-
static inline unsigned short from32to16(unsigned a)
{
unsigned short b = a >> 16;
static inline unsigned short from32to16(unsigned a)
{
unsigned short b = a >> 16;
@@
-33,7
+31,7
@@
static inline unsigned short from32to16(unsigned a)
* Unrolling to an 128 bytes inner loop.
* Using interleaving with more registers to break the carry chains.
*/
* Unrolling to an 128 bytes inner loop.
* Using interleaving with more registers to break the carry chains.
*/
-static
__force_inline
unsigned do_csum(const unsigned char *buff, unsigned len)
+static unsigned do_csum(const unsigned char *buff, unsigned len)
{
unsigned odd, count;
unsigned long result = 0;
{
unsigned odd, count;
unsigned long result = 0;
@@
-132,9
+130,10
@@
static __force_inline unsigned do_csum(const unsigned char *buff, unsigned len)
*
* it's best to have buff aligned on a 64-bit boundary
*/
*
* it's best to have buff aligned on a 64-bit boundary
*/
-
unsigned csum_partial(const unsigned char *buff, unsigned len, unsigned
sum)
+
__wsum csum_partial(const void *buff, int len, __wsum
sum)
{
{
- return add32_with_carry(do_csum(buff, len), sum);
+ return (__force __wsum)add32_with_carry(do_csum(buff, len),
+ (__force u32)sum);
}
EXPORT_SYMBOL(csum_partial);
}
EXPORT_SYMBOL(csum_partial);
@@
-143,8
+142,9
@@
EXPORT_SYMBOL(csum_partial);
* this routine is used for miscellaneous IP-like checksums, mainly
* in icmp.c
*/
* this routine is used for miscellaneous IP-like checksums, mainly
* in icmp.c
*/
-
unsigned short ip_compute_csum(unsigned char *
buff, int len)
+
__sum16 ip_compute_csum(const void *
buff, int len)
{
return csum_fold(csum_partial(buff,len,0));
}
{
return csum_fold(csum_partial(buff,len,0));
}
+EXPORT_SYMBOL(ip_compute_csum);