linux/arch/loongarch/lib
Eric Biggers 648c7fb16f lib/crc: make arch-optimized code use subsys_initcall
Make the architecture-optimized CRC code do its CPU feature checks in
subsys_initcalls instead of arch_initcalls.  This makes it consistent
with arch/*/lib/crypto/ and ensures that it runs after initcalls that
possibly could be a prerequisite for kernel-mode FPU, such as x86's
xfd_update_static_branch() and loongarch's init_euen_mask().

Note: as far as I can tell, x86's xfd_update_static_branch() isn't
*actually* needed for kernel-mode FPU.  loongarch's init_euen_mask() is
needed to enable save/restore of the vector registers, but loongarch
doesn't yet have any CRC or crypto code that uses vector registers
anyway.  Regardless, let's be consistent with arch/*/lib/crypto/ and
robust against any potential future dependency on an arch_initcall.

Link: https://lore.kernel.org/r/20250510035959.87995-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
2025-05-09 21:02:37 -07:00
..
clear_user.S LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
copy_user.S LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
crc32-loongarch.c lib/crc: make arch-optimized code use subsys_initcall 2025-05-09 21:02:37 -07:00
csum.c LoongArch: csum: Fix OoB access in IP checksum code for negative lengths 2025-02-13 12:02:40 +08:00
delay.c LoongArch: Remove useless header compiler.h 2022-07-29 18:22:32 +08:00
dump_tlb.c LoongArch: Make the CPUCFG&CSR ops simple aliases of compiler built-ins 2023-06-29 20:58:43 +08:00
error-inject.c LoongArch: Add support for function error injection 2023-05-01 17:19:52 +08:00
Makefile loongarch/crc32: expose CRC32 functions through lib 2024-12-01 17:23:01 -08:00
memcpy.S LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
memmove.S LoongArch: Add KASAN (Kernel Address Sanitizer) support 2023-09-06 22:54:16 +08:00
memset.S LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
tishift.S LoongArch: Select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 2024-05-14 12:24:18 +08:00
unaligned.S LoongArch: Remove unneeded #include <asm/export.h> 2023-08-25 23:40:26 +08:00
xor_simd.c LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00
xor_simd.h LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00
xor_simd_glue.c LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00
xor_template.c LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00