diff options
Diffstat (limited to 'lib/hweight.c')
| -rw-r--r-- | lib/hweight.c | 19 | 
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/hweight.c b/lib/hweight.c index 63ee4eb1228..3c79d50814c 100644 --- a/lib/hweight.c +++ b/lib/hweight.c @@ -9,7 +9,7 @@   * The Hamming Weight of a number is the total number of bits set in it.   */ -unsigned int hweight32(unsigned int w) +unsigned int __sw_hweight32(unsigned int w)  {  #ifdef ARCH_HAS_FAST_MULTIPLIER  	w -= (w >> 1) & 0x55555555; @@ -24,29 +24,30 @@ unsigned int hweight32(unsigned int w)  	return (res + (res >> 16)) & 0x000000FF;  #endif  } -EXPORT_SYMBOL(hweight32); +EXPORT_SYMBOL(__sw_hweight32); -unsigned int hweight16(unsigned int w) +unsigned int __sw_hweight16(unsigned int w)  {  	unsigned int res = w - ((w >> 1) & 0x5555);  	res = (res & 0x3333) + ((res >> 2) & 0x3333);  	res = (res + (res >> 4)) & 0x0F0F;  	return (res + (res >> 8)) & 0x00FF;  } -EXPORT_SYMBOL(hweight16); +EXPORT_SYMBOL(__sw_hweight16); -unsigned int hweight8(unsigned int w) +unsigned int __sw_hweight8(unsigned int w)  {  	unsigned int res = w - ((w >> 1) & 0x55);  	res = (res & 0x33) + ((res >> 2) & 0x33);  	return (res + (res >> 4)) & 0x0F;  } -EXPORT_SYMBOL(hweight8); +EXPORT_SYMBOL(__sw_hweight8); -unsigned long hweight64(__u64 w) +unsigned long __sw_hweight64(__u64 w)  {  #if BITS_PER_LONG == 32 -	return hweight32((unsigned int)(w >> 32)) + hweight32((unsigned int)w); +	return __sw_hweight32((unsigned int)(w >> 32)) + +	       __sw_hweight32((unsigned int)w);  #elif BITS_PER_LONG == 64  #ifdef ARCH_HAS_FAST_MULTIPLIER  	w -= (w >> 1) & 0x5555555555555555ul; @@ -63,4 +64,4 @@ unsigned long hweight64(__u64 w)  #endif  #endif  } -EXPORT_SYMBOL(hweight64); +EXPORT_SYMBOL(__sw_hweight64);  |