]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-frv/bitops.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6-omap-h63xx.git] / include / asm-frv / bitops.h
index 39456ba0ec17c7156c5a7fef5baed6cbf60f74e2..287f6f697ce276d55b498cea168a67e402e6b5bf 100644 (file)
@@ -339,6 +339,19 @@ int __ffs(unsigned long x)
        return 31 - bit;
 }
 
+/**
+ * __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)
+{
+       unsigned long bit;
+       asm("scan %1,gr0,%0" : "=r"(bit) : "r"(word));
+       return bit;
+}
+
 /*
  * special slimline version of fls() for calculating ilog2_u32()
  * - note: no protection against n == 0