mn10300: define __fls
authorRusty Russell <rusty@rustcorp.com.au>
Sat, 3 Jan 2009 05:49:03 +0000 (16:19 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Sat, 3 Jan 2009 05:49:03 +0000 (16:19 +1030)
Like fls, but can't be handed 0 and returns the bit number.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
include/asm-mn10300/bitops.h

index cc6d40c05cf3a369951ed8571f7bf226c844405f..0b610f482abb9fbe0622e9b6758cbc758e046de3 100644 (file)
@@ -195,6 +195,17 @@ int fls(int x)
        return (x != 0) ? __ilog2_u32(x) + 1 : 0;
 }
 
+/**
+ * __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 inline unsigned long __fls(unsigned long word)
+{
+       return __ilog2_u32(word);
+}
+
 /**
  * ffs - find first bit set
  * @x: the word to search