mirror of
https://github.com/torvalds/linux.git
synced 2025-11-03 18:20:25 +02:00
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@toblux.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
||
|---|---|---|
| .. | ||
| __ffs.h | ||
| __fls.h | ||
| arch_hweight.h | ||
| atomic.h | ||
| builtin-__ffs.h | ||
| builtin-__fls.h | ||
| builtin-ffs.h | ||
| builtin-fls.h | ||
| const_hweight.h | ||
| ext2-atomic-setbit.h | ||
| ext2-atomic.h | ||
| ffs.h | ||
| ffz.h | ||
| fls.h | ||
| fls64.h | ||
| generic-non-atomic.h | ||
| hweight.h | ||
| instrumented-atomic.h | ||
| instrumented-lock.h | ||
| instrumented-non-atomic.h | ||
| le.h | ||
| lock.h | ||
| non-atomic.h | ||
| non-instrumented-non-atomic.h | ||
| sched.h | ||