Change the return types of bitops functions (ffs, fls, and fns) from
long to int. The expected return values are in the range [0, 64], for
which int is sufficient.
Additionally, int aligns well with the return types of the corresponding
__builtin_* functions, potentially reducing overall type conversions.
Many of the existing bitops functions already return an int and don't
need to be changed. The bitops functions in arch/ should be considered
separately.
Adjust some return variables to match the function return types.
With GCC 13 and defconfig, these changes reduced the size of a test
kernel image by 5,432 bytes on arm64 and by 248 bytes on riscv; there
were no changes in size on x86_64, powerpc, or m68k.
Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxxx>
---
include/asm-generic/bitops/__ffs.h | 4 ++--
include/asm-generic/bitops/__fls.h | 4 ++--
include/asm-generic/bitops/builtin-__ffs.h | 2 +-
include/asm-generic/bitops/builtin-__fls.h | 2 +-
include/linux/bitops.h | 6 +++---
tools/include/asm-generic/bitops/__ffs.h | 4 ++--
tools/include/asm-generic/bitops/__fls.h | 4 ++--
tools/include/linux/bitops.h | 2 +-
8 files changed, 14 insertions(+), 14 deletions(-)