]> www.infradead.org Git - users/jedix/linux-maple.git/commit
lib/crc: make arch-optimized code use subsys_initcall
authorEric Biggers <ebiggers@google.com>
Sat, 10 May 2025 03:59:59 +0000 (20:59 -0700)
committerEric Biggers <ebiggers@google.com>
Sat, 10 May 2025 04:02:37 +0000 (21:02 -0700)
commit648c7fb16f609c53d2659fefb5088af619485ab4
treeca35137c423b2acb6411152c86fc69cd46f21e18
parent46e3311607d6c18a760fba4afbd5d24d42abb0f3
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>
arch/arm/lib/crc-t10dif.c
arch/arm/lib/crc32.c
arch/arm64/lib/crc-t10dif.c
arch/loongarch/lib/crc32-loongarch.c
arch/mips/lib/crc32-mips.c
arch/powerpc/lib/crc-t10dif.c
arch/powerpc/lib/crc32.c
arch/sparc/lib/crc32.c
arch/x86/lib/crc-t10dif.c
arch/x86/lib/crc32.c
arch/x86/lib/crc64.c