[PATCH 00/15] Finish disentangling ChaCha, Poly1305, and BLAKE2s from CRYPTO

Eric Biggers
2025-04-17T18:31:28Z

This series removes the unnecessary dependency of the ChaCha, Poly1305,
and BLAKE2s library functions on the generic crypto infrastructure, i.e.
CONFIG_CRYPTO. To do this, it moves arch/*/crypto/Kconfig from a
submenu of crypto/Kconfig to a submenu of arch/*/Kconfig, then re-adds
the CRYPTO dependency to the symbols that actually need it.

Patches 14-15 then simplify the ChaCha and Poly1305 symbols by removing
the unneeded "internal" symbols.

Note that Curve25519 is still entangled. Later patches will fix that.

Eric Biggers (15):
crypto: arm - remove CRYPTO dependency of library functions
crypto: arm64 - drop redundant dependencies on ARM64
crypto: arm64 - remove CRYPTO dependency of library functions
crypto: loongarch - source arch/loongarch/crypto/Kconfig without
CRYPTO
crypto: mips - remove CRYPTO dependency of library functions
crypto: powerpc - drop redundant dependencies on PPC
crypto: powerpc - remove CRYPTO dependency of library functions
crypto: riscv - remove CRYPTO dependency of library functions
crypto: s390 - drop redundant dependencies on S390
crypto: s390 - remove CRYPTO dependency of library functions
crypto: sparc - source arch/sparc/crypto/Kconfig without CRYPTO
crypto: x86 - drop redundant dependencies on X86
crypto: x86 - remove CRYPTO dependency of library functions
crypto: lib/chacha - remove INTERNAL symbol and selection of CRYPTO
crypto: lib/poly1305 - remove INTERNAL symbol and selection of CRYPTO

arch/arm/Kconfig | 2 ++
arch/arm/crypto/Kconfig | 28 ++++++++-------
arch/arm64/Kconfig | 3 +-
arch/arm64/crypto/Kconfig | 45 ++++++++++++-----------
arch/loongarch/Kconfig | 1 +
arch/mips/Kconfig | 2 ++
arch/mips/crypto/Kconfig | 12 +++----
arch/powerpc/Kconfig | 2 ++
arch/powerpc/crypto/Kconfig | 22 ++++++------
arch/riscv/Kconfig | 2 ++
arch/riscv/crypto/Kconfig | 14 ++++----
arch/s390/Kconfig | 4 +++
arch/s390/crypto/Kconfig | 21 ++++++-----
arch/sparc/Kconfig | 2 ++
arch/sparc/crypto/Kconfig | 14 ++++----
arch/x86/Kconfig | 4 +++
arch/x86/crypto/Kconfig | 72 ++++++++++++++++++-------------------
crypto/Kconfig | 34 ++----------------
lib/crypto/Kconfig | 32 ++++++-----------
19 files changed, 149 insertions(+), 167 deletions(-)

base-commit: da4cb617bc7d827946cbb368034940b379a1de90