From: Wei Yang <richard.weiyang@xxxxxxxxxxxxxxxxx> Subject: bitops: use the same mechanism for get_count_order[_long] These two functions share the same logic. Link: https://lkml.kernel.org/r/20200807085837.11697-3-richard.weiyang@xxxxxxxxxxxxxxxxx Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxxxxxxxxxx> Cc: Christian Brauner <christian.brauner@xxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/bitops.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) --- a/include/linux/bitops.h~bitops-use-the-same-mechanism-for-get_count_order +++ a/include/linux/bitops.h @@ -188,12 +188,10 @@ static inline unsigned fls_long(unsigned 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); } /** _