#ifndef _ASM_GENERIC_BITOPS___FFS_H_ #define _ASM_GENERIC_BITOPS___FFS_H_ #include <asm/types.h> /** * __ffs - find first bit in word. * @word: The word to search * * Undefined if no bit exists, so code should check against 0 first. */
static __always_inline unsigned long __ffs(unsigned long word) { int num = 0; #if BITS_PER_LONG == 64 if ((word & 0xffffffff) == 0) { num += 32; word >>= 32; } #endif if ((word & 0xffff) == 0) { num += 16; word >>= 16; } if ((word & 0xff) == 0) { num += 8; word >>= 8; } if ((word & 0xf) == 0) { num += 4; word >>= 4; } if ((word & 0x3) == 0) { num += 2; word >>= 2; } if ((word & 0x1) == 0) num += 1; return num; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Akinobu Mita | 140 | 99.29% | 1 | 50.00% |
Andi Kleen | 1 | 0.71% | 1 | 50.00% |
Total | 141 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Akinobu Mita | 153 | 99.35% | 1 | 50.00% |
Andi Kleen | 1 | 0.65% | 1 | 50.00% |
Total | 154 | 100.00% | 2 | 100.00% |