Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arch, hweight: Fix compilation errors

Fix function prototype visibility issues when compiling for non-x86
architectures. Tested with crosstool
(ftp://ftp.kernel.org/pub/tools/crosstool/) with alpha, ia64 and sparc
targets.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
LKML-Reference: <20100503130736.GD26107@aftab>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>

authored by

Borislav Petkov and committed by
H. Peter Anvin
4677d4a5 d61931d8

+9 -4
+4 -4
include/asm-generic/bitops/arch_hweight.h
··· 3 3 4 4 #include <asm/types.h> 5 5 6 - inline unsigned int __arch_hweight32(unsigned int w) 6 + static inline unsigned int __arch_hweight32(unsigned int w) 7 7 { 8 8 return __sw_hweight32(w); 9 9 } 10 10 11 - inline unsigned int __arch_hweight16(unsigned int w) 11 + static inline unsigned int __arch_hweight16(unsigned int w) 12 12 { 13 13 return __sw_hweight16(w); 14 14 } 15 15 16 - inline unsigned int __arch_hweight8(unsigned int w) 16 + static inline unsigned int __arch_hweight8(unsigned int w) 17 17 { 18 18 return __sw_hweight8(w); 19 19 } 20 20 21 - inline unsigned long __arch_hweight64(__u64 w) 21 + static inline unsigned long __arch_hweight64(__u64 w) 22 22 { 23 23 return __sw_hweight64(w); 24 24 }
+5
include/linux/bitops.h
··· 10 10 #define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long)) 11 11 #endif 12 12 13 + extern unsigned int __sw_hweight8(unsigned int w); 14 + extern unsigned int __sw_hweight16(unsigned int w); 15 + extern unsigned int __sw_hweight32(unsigned int w); 16 + extern unsigned long __sw_hweight64(__u64 w); 17 + 13 18 /* 14 19 * Include this here because some architectures need generic_ffs/fls in 15 20 * scope