lib/crypto: blake2s: include as built-in
authorJason A. Donenfeld <Jason@zx2c4.com>
Wed, 22 Dec 2021 13:56:58 +0000 (14:56 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 6 Jan 2022 23:25:25 +0000 (00:25 +0100)
commit6048fdcc5f269c7f31d774c295ce59081b36e6f9
treeb58b5ffb4ab511a4a94b304ba00b8b5a50d816f7
parent009ba8568be497c640cab7571f7bfd18345d7b24
lib/crypto: blake2s: include as built-in

In preparation for using blake2s in the RNG, we change the way that it
is wired-in to the build system. Instead of using ifdefs to select the
right symbol, we use weak symbols. And because ARM doesn't need the
generic implementation, we make the generic one default only if an arch
library doesn't need it already, and then have arch libraries that do
need it opt-in. So that the arch libraries can remain tristate rather
than bool, we then split the shash part from the glue code.

Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org
Cc: linux-crypto@vger.kernel.org
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
14 files changed:
arch/arm/crypto/Makefile
arch/arm/crypto/blake2s-core.S
arch/arm/crypto/blake2s-glue.c
arch/arm/crypto/blake2s-shash.c [new file with mode: 0644]
arch/x86/crypto/Makefile
arch/x86/crypto/blake2s-glue.c
arch/x86/crypto/blake2s-shash.c [new file with mode: 0644]
crypto/Kconfig
drivers/net/Kconfig
include/crypto/internal/blake2s.h
lib/crypto/Kconfig
lib/crypto/Makefile
lib/crypto/blake2s-generic.c
lib/crypto/blake2s.c