Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3821af2f authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller
Browse files

[FLS64]: generic version

parent c865e5d9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -321,6 +321,7 @@ static inline int fls(int word)
#else
#define fls	generic_fls
#endif
#define fls64   generic_fls64

/* Compute powers of two for the given integer.  */
static inline long floor_log2(unsigned long word)
+2 −0
Original line number Diff line number Diff line
@@ -332,6 +332,7 @@ static inline unsigned long __ffs(unsigned long word)
 */

#define fls(x) generic_fls(x)
#define fls64(x)   generic_fls64(x)

/*
 * ffs: find first bit set. This is defined the same way as
@@ -351,6 +352,7 @@ static inline unsigned long __ffs(unsigned long word)
#define fls(x) \
	( __builtin_constant_p(x) ? generic_fls(x) : \
	  ({ int __r; asm("clz\t%0, %1" : "=r"(__r) : "r"(x) : "cc"); 32-__r; }) )
#define fls64(x)   generic_fls64(x)
#define ffs(x) ({ unsigned long __t = (x); fls(__t & -__t); })
#define __ffs(x) (ffs(x) - 1)
#define ffz(x) __ffs( ~(x) )
+1 −0
Original line number Diff line number Diff line
@@ -259,6 +259,7 @@ static inline unsigned long __ffs(unsigned long word)
 */

#define fls(x) generic_fls(x)
#define fls64(x)   generic_fls64(x)

/*
 * ffs: find first bit set. This is defined the same way as
+1 −0
Original line number Diff line number Diff line
@@ -240,6 +240,7 @@ static inline int test_bit(int nr, const volatile unsigned long *addr)
 */

#define fls(x) generic_fls(x)
#define fls64(x)   generic_fls64(x)

/*
 * hweightN - returns the hamming weight of a N-bit word
+1 −0
Original line number Diff line number Diff line
@@ -228,6 +228,7 @@ static inline int find_next_zero_bit(const void *addr, int size, int offset)
							\
	bit ? 33 - bit : bit;				\
})
#define fls64(x)   generic_fls64(x)

/*
 * Every architecture must define this function. It's the fastest
Loading