]> Git Repo - J-linux.git/blobdiff - include/linux/bitops.h
Merge tag 'sched-core-2020-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git...
[J-linux.git] / include / linux / bitops.h
index 99f2ac30b1d9bcd6e69b705ebfb197cff4ed7dd4..5b74bdf159d6f202adfaaeb9aca60aa764319600 100644 (file)
@@ -188,12 +188,10 @@ static inline unsigned fls_long(unsigned long l)
 
 static inline int get_count_order(unsigned int count)
 {
-       int order;
+       if (count == 0)
+               return -1;
 
-       order = fls(count) - 1;
-       if (count & (count - 1))
-               order++;
-       return order;
+       return fls(--count);
 }
 
 /**
@@ -206,10 +204,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);
 }
 
 /**
This page took 0.029344 seconds and 4 git commands to generate.