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>
This commit is contained in:
Borislav Petkov 2010-05-03 14:57:11 +02:00 committed by H. Peter Anvin
parent d61931d89b
commit 4677d4a53e
2 changed files with 9 additions and 4 deletions

View File

@ -3,22 +3,22 @@
#include <asm/types.h>
inline unsigned int __arch_hweight32(unsigned int w)
static inline unsigned int __arch_hweight32(unsigned int w)
{
return __sw_hweight32(w);
}
inline unsigned int __arch_hweight16(unsigned int w)
static inline unsigned int __arch_hweight16(unsigned int w)
{
return __sw_hweight16(w);
}
inline unsigned int __arch_hweight8(unsigned int w)
static inline unsigned int __arch_hweight8(unsigned int w)
{
return __sw_hweight8(w);
}
inline unsigned long __arch_hweight64(__u64 w)
static inline unsigned long __arch_hweight64(__u64 w)
{
return __sw_hweight64(w);
}

View File

@ -10,6 +10,11 @@
#define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long))
#endif
extern unsigned int __sw_hweight8(unsigned int w);
extern unsigned int __sw_hweight16(unsigned int w);
extern unsigned int __sw_hweight32(unsigned int w);
extern unsigned long __sw_hweight64(__u64 w);
/*
* Include this here because some architectures need generic_ffs/fls in
* scope