]> err.no Git - linux-2.6/commit
[Blackfin] arch: Blackfin checksum annotations
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 12 May 2008 03:55:10 +0000 (11:55 +0800)
committerBryan Wu <cooloney@kernel.org>
Mon, 12 May 2008 03:55:10 +0000 (11:55 +0800)
commit45b3947c2de5841d691f1d27d30419b9fae2d86c
tree151f070291fddbd934e2c004b284e8a59c29eb79
parentb8291ad07a7f3b5b990900f0001198ac23ba893e
[Blackfin] arch: Blackfin checksum annotations

FSVOtest in this case, since I don't have the hardware...
However, all changes seen by gcc are actually
 - explicit cast to unsigned short in return expression of functions
    returning unsigned short
 - csum_fold() return type changed from unsigned int to __sum16
   (unsigned short), same as for all other architecture and as net/* expects;
   expression actually returned is ((~(sum << 16)) >> 16) with sum being
   unsigned 32bit, so it's (a) going to fit into the range of unsigned short
   and (b) had been unsigned all along, so no sign expansion mess happened.

Tested-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Miller <davem@davemloft.net>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
arch/blackfin/lib/checksum.c
include/asm-blackfin/checksum.h