bitops: simplify get_count_order_long()
authorWei Yang <richard.weiyang@linux.alibaba.com>
Fri, 16 Oct 2020 03:11:41 +0000 (20:11 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 Oct 2020 18:11:20 +0000 (11:11 -0700)
These two cases could be unified into one.

Signed-off-by: Wei Yang <richard.weiyang@linux.alibaba.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lkml.kernel.org/r/20200807085837.11697-2-richard.weiyang@linux.alibaba.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/bitops.h

index 99f2ac3..030a98f 100644 (file)
@@ -206,10 +206,7 @@ static inline int get_count_order_long(unsigned long l)
 {
        if (l == 0UL)
                return -1;
-       else if (l & (l - 1UL))
-               return (int)fls_long(l);
-       else
-               return (int)fls_long(l) - 1;
+       return (int)fls_long(--l);
 }
 
 /**