[PATCH] arm64: Kconfig: remove unnecessary selection of CRC32

Eric Biggers posted 1 patch 8 months, 1 week ago
arch/arm64/Kconfig | 1 -
1 file changed, 1 deletion(-)
[PATCH] arm64: Kconfig: remove unnecessary selection of CRC32
Posted by Eric Biggers 8 months, 1 week ago
From: Eric Biggers <ebiggers@google.com>

The selection of CRC32 by ARM64 was added by commit 7481cddf29ed
("arm64/lib: add accelerated crc32 routines") as a workaround for the
fact that, at the time, the CRC32 library functions used weak symbols to
allow architecture-specific overrides.  That only worked when CRC32 was
built-in, and thus ARM64 was made to just force CRC32 to built-in.

Now that the CRC32 library no longer uses weak symbols, that no longer
applies.  And the selection does not fulfill a user dependency either;
those all have their own selections from other options.  Therefore, the
selection of CRC32 by ARM64 is no longer necessary.  Remove it.

Note that this does not necessarily result in CRC32 no longer being set
to y, as it still tends to get selected by something else anyway.

Signed-off-by: Eric Biggers <ebiggers@google.com>
---

Please consider taking this through the arm64 tree.  But if it doesn't
get picked up there, I'll take it through the crc tree.

 arch/arm64/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index a182295e6f08..14073b0094c1 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -132,11 +132,10 @@ config ARM64
 	select BUILDTIME_TABLE_SORT
 	select CLONE_BACKWARDS
 	select COMMON_CLK
 	select CPU_PM if (SUSPEND || CPU_IDLE)
 	select CPUMASK_OFFSTACK if NR_CPUS > 256
-	select CRC32
 	select DCACHE_WORD_ACCESS
 	select DYNAMIC_FTRACE if FUNCTION_TRACER
 	select DMA_BOUNCE_UNALIGNED_KMALLOC
 	select DMA_DIRECT_REMAP
 	select EDAC_SUPPORT

base-commit: 8ffd015db85fea3e15a77027fda6c02ced4d2444
-- 
2.49.0
Re: [PATCH] arm64: Kconfig: remove unnecessary selection of CRC32
Posted by Will Deacon 7 months, 3 weeks ago
On Mon, 14 Apr 2025 10:40:18 -0700, Eric Biggers wrote:
> The selection of CRC32 by ARM64 was added by commit 7481cddf29ed
> ("arm64/lib: add accelerated crc32 routines") as a workaround for the
> fact that, at the time, the CRC32 library functions used weak symbols to
> allow architecture-specific overrides.  That only worked when CRC32 was
> built-in, and thus ARM64 was made to just force CRC32 to built-in.
> 
> Now that the CRC32 library no longer uses weak symbols, that no longer
> applies.  And the selection does not fulfill a user dependency either;
> those all have their own selections from other options.  Therefore, the
> selection of CRC32 by ARM64 is no longer necessary.  Remove it.
> 
> [...]

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: Kconfig: remove unnecessary selection of CRC32
      https://git.kernel.org/arm64/c/e2eaeba0522d

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
Re: [PATCH] arm64: Kconfig: remove unnecessary selection of CRC32
Posted by Ard Biesheuvel 8 months ago
On Mon, 14 Apr 2025 at 19:41, Eric Biggers <ebiggers@kernel.org> wrote:
>
> From: Eric Biggers <ebiggers@google.com>
>
> The selection of CRC32 by ARM64 was added by commit 7481cddf29ed
> ("arm64/lib: add accelerated crc32 routines") as a workaround for the
> fact that, at the time, the CRC32 library functions used weak symbols to
> allow architecture-specific overrides.  That only worked when CRC32 was
> built-in, and thus ARM64 was made to just force CRC32 to built-in.
>
> Now that the CRC32 library no longer uses weak symbols, that no longer
> applies.  And the selection does not fulfill a user dependency either;
> those all have their own selections from other options.  Therefore, the
> selection of CRC32 by ARM64 is no longer necessary.  Remove it.
>
> Note that this does not necessarily result in CRC32 no longer being set
> to y, as it still tends to get selected by something else anyway.
>
> Signed-off-by: Eric Biggers <ebiggers@google.com>
> ---
>
> Please consider taking this through the arm64 tree.  But if it doesn't
> get picked up there, I'll take it through the crc tree.
>
>  arch/arm64/Kconfig | 1 -
>  1 file changed, 1 deletion(-)
>

Acked-by: Ard Biesheuvel <ardb@kernel.org>

> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index a182295e6f08..14073b0094c1 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -132,11 +132,10 @@ config ARM64
>         select BUILDTIME_TABLE_SORT
>         select CLONE_BACKWARDS
>         select COMMON_CLK
>         select CPU_PM if (SUSPEND || CPU_IDLE)
>         select CPUMASK_OFFSTACK if NR_CPUS > 256
> -       select CRC32
>         select DCACHE_WORD_ACCESS
>         select DYNAMIC_FTRACE if FUNCTION_TRACER
>         select DMA_BOUNCE_UNALIGNED_KMALLOC
>         select DMA_DIRECT_REMAP
>         select EDAC_SUPPORT
>
> base-commit: 8ffd015db85fea3e15a77027fda6c02ced4d2444
> --
> 2.49.0
>