[PATCH 3/12] generic ffz()

Akinobu Mita
2006-01-26T03:31:56Z

This patch introduces the C-language equivalent of the function:
unsigned long ffz(unsigned long word);

HAVE_ARCH_FFZ_BITOPS is defined when the architecture has its own
version of these functions.

This code largely copied from:
include/asm-sparc64/bitops.h

Index: 2.6-git/include/asm-generic/bitops.h
=================================--- 2.6-git.orig/include/asm-generic/bitops.h 2006-01-25 19:14:09.000000000 +0900
+++ 2.6-git/include/asm-generic/bitops.h 2006-01-25 19:14:10.000000000 +0900
@@ -230,6 +230,13 @@

#endif /* HAVE_ARCH___FFS_BITOPS */

+#ifndef HAVE_ARCH_FFZ_BITOPS
+
+/* Undefined if no bit is zero. */
+#define ffz(x) __ffs(~x)
+
+#endif /* HAVE_ARCH_FFZ_BITOPS */
+
/*
* fls: find last bit set.
*/