use asm/byteorder.h, not endian.h