Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / asm-generic / bitops / builtin-__fls.h
diff --git a/kernel/include/asm-generic/bitops/builtin-__fls.h b/kernel/include/asm-generic/bitops/builtin-__fls.h
new file mode 100644 (file)
index 0000000..0248f38
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef _ASM_GENERIC_BITOPS_BUILTIN___FLS_H_
+#define _ASM_GENERIC_BITOPS_BUILTIN___FLS_H_
+
+/**
+ * __fls - find last (most-significant) set bit in a long word
+ * @word: the word to search
+ *
+ * Undefined if no set bit exists, so code should check against 0 first.
+ */
+static __always_inline unsigned long __fls(unsigned long word)
+{
+       return (sizeof(word) * 8) - 1 - __builtin_clzl(word);
+}
+
+#endif