diff options
Diffstat (limited to 'tools/include/asm-generic')
| -rw-r--r-- | tools/include/asm-generic/bitops/__ffs.h | 4 | ||||
| -rw-r--r-- | tools/include/asm-generic/bitops/__fls.h | 10 | ||||
| -rw-r--r-- | tools/include/asm-generic/bitops/fls.h | 8 | 
3 files changed, 15 insertions, 7 deletions
diff --git a/tools/include/asm-generic/bitops/__ffs.h b/tools/include/asm-generic/bitops/__ffs.h index 9d1310519497..2d94c1e9b2f3 100644 --- a/tools/include/asm-generic/bitops/__ffs.h +++ b/tools/include/asm-generic/bitops/__ffs.h @@ -11,9 +11,9 @@   *   * Undefined if no bit exists, so code should check against 0 first.   */ -static __always_inline unsigned long __ffs(unsigned long word) +static __always_inline unsigned int __ffs(unsigned long word)  { -	int num = 0; +	unsigned int num = 0;  #if __BITS_PER_LONG == 64  	if ((word & 0xffffffff) == 0) { diff --git a/tools/include/asm-generic/bitops/__fls.h b/tools/include/asm-generic/bitops/__fls.h index 03f721a8a2b1..e974ec932ec1 100644 --- a/tools/include/asm-generic/bitops/__fls.h +++ b/tools/include/asm-generic/bitops/__fls.h @@ -5,14 +5,14 @@  #include <asm/types.h>  /** - * __fls - find last (most-significant) set bit in a long word + * generic___fls - find last (most-significant) set bit in a long word   * @word: the word to search   *   * Undefined if no set bit exists, so code should check against 0 first.   */ -static __always_inline unsigned long __fls(unsigned long word) +static __always_inline unsigned int generic___fls(unsigned long word)  { -	int num = BITS_PER_LONG - 1; +	unsigned int num = BITS_PER_LONG - 1;  #if BITS_PER_LONG == 64  	if (!(word & (~0ul << 32))) { @@ -41,4 +41,8 @@ static __always_inline unsigned long __fls(unsigned long word)  	return num;  } +#ifndef __HAVE_ARCH___FLS +#define __fls(word) generic___fls(word) +#endif +  #endif /* _ASM_GENERIC_BITOPS___FLS_H_ */ diff --git a/tools/include/asm-generic/bitops/fls.h b/tools/include/asm-generic/bitops/fls.h index b168bb10e1be..26f3ce1dd6e4 100644 --- a/tools/include/asm-generic/bitops/fls.h +++ b/tools/include/asm-generic/bitops/fls.h @@ -3,14 +3,14 @@  #define _ASM_GENERIC_BITOPS_FLS_H_  /** - * fls - find last (most-significant) bit set + * generic_fls - find last (most-significant) bit set   * @x: the word to search   *   * This is defined the same way as ffs.   * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.   */ -static __always_inline int fls(unsigned int x) +static __always_inline int generic_fls(unsigned int x)  {  	int r = 32; @@ -39,4 +39,8 @@ static __always_inline int fls(unsigned int x)  	return r;  } +#ifndef __HAVE_ARCH_FLS +#define fls(x) generic_fls(x) +#endif +  #endif /* _ASM_GENERIC_BITOPS_FLS_H_ */  | 
