summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAkinobu Mita <mita@miraclelinux.com>2006-03-26 01:39:08 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-26 08:57:10 -0800
commit176d8b0c2709e764d491e63a0c1b3a3e1459fcf8 (patch)
treefd45cfce91c9fc75b4383fe0b62f77febf875c6c /include
parentc1226a005ec400e966f4993dfcc0e99fd7baa6a1 (diff)
downloadlinux-3.10-176d8b0c2709e764d491e63a0c1b3a3e1459fcf8.tar.gz
linux-3.10-176d8b0c2709e764d491e63a0c1b3a3e1459fcf8.tar.bz2
linux-3.10-176d8b0c2709e764d491e63a0c1b3a3e1459fcf8.zip
[PATCH] bitops: generic ffz()
This patch introduces the C-language equivalent of the function: unsigned long ffz(unsigned long word); In include/asm-generic/bitops/ffz.h This code largely copied from: include/asm-parisc/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>
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/bitops/ffz.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-generic/bitops/ffz.h b/include/asm-generic/bitops/ffz.h
new file mode 100644
index 00000000000..6744bd4cdf4
--- /dev/null
+++ b/include/asm-generic/bitops/ffz.h
@@ -0,0 +1,12 @@
+#ifndef _ASM_GENERIC_BITOPS_FFZ_H_
+#define _ASM_GENERIC_BITOPS_FFZ_H_
+
+/*
+ * ffz - find first zero in word.
+ * @word: The word to search
+ *
+ * Undefined if no zero exists, so code should check against ~0UL first.
+ */
+#define ffz(x) __ffs(~(x))
+
+#endif /* _ASM_GENERIC_BITOPS_FFZ_H_ */