Building virtualbox external kernel modules warns about different types, example: include/asm-generic/bitops/le.h; set_bit_le(int nr, const void *addr) vs arch/x86/include/asm/bitops.h: set_bit(long nr, volatile unsigned long *addr)
This difference is causes complaints, changing set_bit_le(int nr, const void *addr) to set_bit_le(int nr, const unsigned long *addr) makes the warnings go away for this function. Should not these two be the same?

