From: Wei Yang Date: Fri, 16 Oct 2020 03:11:46 +0000 (-0700) Subject: bitops: use the same mechanism for get_count_order[_long] X-Git-Tag: v5.10-rc1~106^2~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=004fba1ae6ddd66ba0faa4f60c603b3ca77b3554;p=thirdparty%2Fkernel%2Fstable.git bitops: use the same mechanism for get_count_order[_long] These two functions share the same logic. Signed-off-by: Wei Yang Signed-off-by: Andrew Morton Cc: Christian Brauner Cc: Andy Shevchenko Link: https://lkml.kernel.org/r/20200807085837.11697-3-richard.weiyang@linux.alibaba.com Signed-off-by: Linus Torvalds --- diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 030a98f0c4528..5b74bdf159d6f 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -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); } /**