Patch #2 puts the cipher API (which should not be used outside of the crypto API implementation) into an internal header file and module namespace Patch #1 is a prerequisite for this, to avoid having to make the chelsio driver import the crypto internal namespace. Changes since v1: - add missing Kconfig dependency on CRYPT_LIB_AES (#1) - add missing module namespace import into skcipher.c (#2) - this addresses the kbuild failure report - add module import to QAT driver, which now contains a valid use of the bare cipher API Cc: Eric Biggers <ebiggers@xxxxxxxxxx> Ard Biesheuvel (2): chcr_ktls: use AES library for single use cipher crypto: remove cipher routines from public crypto API Documentation/crypto/api-skcipher.rst | 4 +- arch/arm/crypto/aes-neonbs-glue.c | 3 + arch/s390/crypto/aes_s390.c | 2 + crypto/adiantum.c | 2 + crypto/ansi_cprng.c | 2 + crypto/cbc.c | 1 + crypto/ccm.c | 2 + crypto/cfb.c | 2 + crypto/cipher.c | 7 +- crypto/cmac.c | 2 + crypto/ctr.c | 2 + crypto/drbg.c | 2 + crypto/ecb.c | 1 + crypto/essiv.c | 2 + crypto/keywrap.c | 2 + crypto/ofb.c | 2 + crypto/pcbc.c | 2 + crypto/skcipher.c | 2 + crypto/testmgr.c | 3 + crypto/vmac.c | 2 + crypto/xcbc.c | 2 + crypto/xts.c | 2 + drivers/crypto/geode-aes.c | 2 + drivers/crypto/inside-secure/safexcel.c | 1 + drivers/crypto/inside-secure/safexcel_hash.c | 1 + drivers/crypto/qat/qat_common/adf_ctl_drv.c | 1 + drivers/crypto/qat/qat_common/qat_algs.c | 1 + drivers/crypto/vmx/aes.c | 1 + drivers/crypto/vmx/vmx.c | 1 + .../ethernet/chelsio/inline_crypto/Kconfig | 1 + .../chelsio/inline_crypto/ch_ktls/chcr_ktls.c | 19 +- include/crypto/algapi.h | 39 ---- include/crypto/internal/cipher.h | 218 ++++++++++++++++++ include/crypto/internal/skcipher.h | 1 + include/linux/crypto.h | 163 ------------- 35 files changed, 281 insertions(+), 219 deletions(-) create mode 100644 include/crypto/internal/cipher.h -- 2.17.1