summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkinobu Mita <mita@miraclelinux.com>2006-03-26 01:39:10 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-26 08:57:10 -0800
commit2dfc383ad587bbead84739a9ff9273df3eda983d (patch)
tree737b3d8e40b7e94de6299b72eed2ebf8e5fb68a4
parent136abb32d6b4acf196425fb3968ebb368d84280e (diff)
[PATCH] bitops: generic fls64()
This patch introduces the C-language equivalent of the function: int fls64(__u64 x); In include/asm-generic/bitops/fls64.h This code largely copied from: include/linux/bitops.h Signed-off-by: Akinobu Mita <mita@miraclelinux.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/asm-generic/bitops/fls64.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-generic/bitops/fls64.h b/include/asm-generic/bitops/fls64.h
new file mode 100644
index 000000000000..716c51e0dd4c
--- /dev/null
+++ b/include/asm-generic/bitops/fls64.h
@@ -0,0 +1,12 @@
+#ifndef _ASM_GENERIC_BITOPS_FLS64_H_
+#define _ASM_GENERIC_BITOPS_FLS64_H_
+
+static inline int fls64(__u64 x)
+{
+ __u32 h = x >> 32;
+ if (h)
+ return fls(h) + 32;
+ return fls(x);
+}
+
+#endif /* _ASM_GENERIC_BITOPS_FLS64_H_ */