aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorBorislav Petkov <borislav.petkov@amd.com>2010-05-03 14:57:11 +0200
committerH. Peter Anvin <hpa@zytor.com>2010-05-04 10:25:27 -0700
commit4677d4a53e0d565742277e8913e91c821453e63e (patch)
tree6fd374bd02605f720a77f03ee12036495796dcdd
parentx86: Add optimized popcnt variants (diff)
downloadwireguard-linux-4677d4a53e0d565742277e8913e91c821453e63e.tar.xz
wireguard-linux-4677d4a53e0d565742277e8913e91c821453e63e.zip
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>
-rw-r--r--include/asm-generic/bitops/arch_hweight.h8
-rw-r--r--include/linux/bitops.h5
2 files changed, 9 insertions, 4 deletions
diff --git a/include/asm-generic/bitops/arch_hweight.h b/include/asm-generic/bitops/arch_hweight.h
index 9a81c1e9436c..6a211f40665c 100644
--- a/include/asm-generic/bitops/arch_hweight.h
+++ b/include/asm-generic/bitops/arch_hweight.h
@@ -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);
}
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index c55d5bc4ee58..26caa608ccd9 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -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