Loading include/asm-generic/bitops/fls64.h +22 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,18 @@ #include <asm/types.h> /** * fls64 - find last set bit in a 64-bit word * @x: the word to search * * This is defined in a similar way as the libc and compiler builtin * ffsll, but returns the position of the most significant set bit. * * fls64(value) returns 0 if value is 0 or the position of the last * set bit if value is nonzero. The last (most significant) bit is * at position 64. */ #if BITS_PER_LONG == 32 static inline int fls64(__u64 x) { __u32 h = x >> 32; Loading @@ -10,5 +22,15 @@ static inline int fls64(__u64 x) return fls(h) + 32; return fls(x); } #elif BITS_PER_LONG == 64 static inline int fls64(__u64 x) { if (x == 0) return 0; return __fls(x) + 1; } #else #error BITS_PER_LONG not 32 or 64 #endif #endif /* _ASM_GENERIC_BITOPS_FLS64_H_ */ include/asm-x86/bitops_64.h +2 −13 Original line number Diff line number Diff line Loading @@ -39,25 +39,14 @@ static inline void set_bit_string(unsigned long *bitmap, unsigned long i, #include <asm-generic/bitops/sched.h> /** * fls64 - find last bit set in 64 bit word * @x: the word to search * * This is defined the same way as fls. */ static inline int fls64(__u64 x) { if (x == 0) return 0; return __fls(x) + 1; } #define ARCH_HAS_FAST_MULTIPLIER 1 #include <asm-generic/bitops/hweight.h> #endif /* __KERNEL__ */ #include <asm-generic/bitops/fls64.h> #ifdef __KERNEL__ #include <asm-generic/bitops/ext2-non-atomic.h> Loading Loading
include/asm-generic/bitops/fls64.h +22 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,18 @@ #include <asm/types.h> /** * fls64 - find last set bit in a 64-bit word * @x: the word to search * * This is defined in a similar way as the libc and compiler builtin * ffsll, but returns the position of the most significant set bit. * * fls64(value) returns 0 if value is 0 or the position of the last * set bit if value is nonzero. The last (most significant) bit is * at position 64. */ #if BITS_PER_LONG == 32 static inline int fls64(__u64 x) { __u32 h = x >> 32; Loading @@ -10,5 +22,15 @@ static inline int fls64(__u64 x) return fls(h) + 32; return fls(x); } #elif BITS_PER_LONG == 64 static inline int fls64(__u64 x) { if (x == 0) return 0; return __fls(x) + 1; } #else #error BITS_PER_LONG not 32 or 64 #endif #endif /* _ASM_GENERIC_BITOPS_FLS64_H_ */
include/asm-x86/bitops_64.h +2 −13 Original line number Diff line number Diff line Loading @@ -39,25 +39,14 @@ static inline void set_bit_string(unsigned long *bitmap, unsigned long i, #include <asm-generic/bitops/sched.h> /** * fls64 - find last bit set in 64 bit word * @x: the word to search * * This is defined the same way as fls. */ static inline int fls64(__u64 x) { if (x == 0) return 0; return __fls(x) + 1; } #define ARCH_HAS_FAST_MULTIPLIER 1 #include <asm-generic/bitops/hweight.h> #endif /* __KERNEL__ */ #include <asm-generic/bitops/fls64.h> #ifdef __KERNEL__ #include <asm-generic/bitops/ext2-non-atomic.h> Loading