Hi, I got tired of seeing some block cipher implementations using the old API (blkcipher or ablkcipher) and some using the new API (skcipher)... so this series makes a dent in the problem by converting all the remaining x86 glue code over to the skcipher API. Besides the conversion to use 'skcipher_alg', 'skcipher_request', and 'skcipher_walk' this includes replacing all remaining users of ablk_helper with crypto_simd, then removing ablk_helper. It also includes removing all users of lrw_crypt() and xts_crypt() in favor of the lrw and xts templates wrapping an ECB-mode algorithm. So, lrw_crypt() and xts_crypt() are removed too. Note that AES was already converted a while ago, so this series mostly just deals with the other ciphers (Serpent, Twofish, Camellia, etc.). I tested all the affected algorithms with the self-tests. I also did some testing with random sglist divisions, during which I found a bug in ecb-cast5-avx which this series fixes as well. The overall diff is about 3100 lines of code removed, mainly due to the ablk_helper => crypto_simd conversions and removing the unnecessary LRW and XTS implementations. Eric Biggers (30): crypto: simd - allow registering multiple algorithms at once crypto: x86/glue_helper - add skcipher_walk functions crypto: x86/serpent-sse2 - remove LRW algorithm crypto: x86/serpent-sse2 - remove XTS algorithm crypto: x86/serpent-sse2 - convert to skcipher interface crypto: x86/serpent-avx2 - remove LRW algorithm crypto: x86/serpent-avx - remove LRW algorithm crypto: x86/serpent-avx,avx2 - convert to skcipher interface crypto: x86/twofish-3way - remove LRW algorithm crypto: x86/twofish-3way - remove XTS algorithm crypto: x86/twofish-3way - convert to skcipher interface crypto: x86/twofish-avx - remove LRW algorithm crypto: x86/twofish-avx - convert to skcipher interface crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one crypto: x86/cast5-avx - convert to skcipher interface crypto: x86/cast6-avx - remove LRW algorithm crypto: x86/cast6-avx - convert to skcipher interface crypto: x86/blowfish: convert to skcipher interface crypto: x86/des3_ede - convert to skcipher interface crypto: x86/camellia-aesni-avx - remove LRW algorithm crypto: x86/camellia-aesni-avx2 - remove LRW algorithm crypto: x86/camellia - remove LRW algorithm crypto: x86/camellia - remove XTS algorithm crypto: x86/camellia - convert to skcipher interface crypto: x86/camellia-aesni-avx,avx2 - convert to skcipher interface crypto: xts - remove xts_crypt() crypto: lrw - remove lrw_crypt() crypto: x86/glue_helper - remove blkcipher_walk functions crypto: x86/glue_helper - rename glue_skwalk_fpu_begin() crypto: ablk_helper - remove ablk_helper arch/x86/crypto/blowfish_glue.c | 230 +++++++------ arch/x86/crypto/camellia_aesni_avx2_glue.c | 491 ++++++--------------------- arch/x86/crypto/camellia_aesni_avx_glue.c | 495 +++++++-------------------- arch/x86/crypto/camellia_glue.c | 356 +++++--------------- arch/x86/crypto/cast5_avx_glue.c | 352 +++++++------------ arch/x86/crypto/cast6_avx_glue.c | 489 ++++++--------------------- arch/x86/crypto/des3_ede_glue.c | 238 ++++++------- arch/x86/crypto/glue_helper.c | 391 +++++++--------------- arch/x86/crypto/serpent_avx2_glue.c | 478 ++++++-------------------- arch/x86/crypto/serpent_avx_glue.c | 518 +++++++--------------------- arch/x86/crypto/serpent_sse2_glue.c | 519 ++++------------------------- arch/x86/crypto/twofish_avx_glue.c | 493 +++++++-------------------- arch/x86/crypto/twofish_glue_3way.c | 339 ++++--------------- arch/x86/include/asm/crypto/camellia.h | 16 +- arch/x86/include/asm/crypto/glue_helper.h | 75 +---- arch/x86/include/asm/crypto/serpent-avx.h | 17 +- arch/x86/include/asm/crypto/twofish.h | 19 -- crypto/Kconfig | 82 ++--- crypto/Makefile | 1 - crypto/ablk_helper.c | 150 --------- crypto/lrw.c | 152 +++------ crypto/simd.c | 50 +++ crypto/xts.c | 72 ---- include/crypto/ablk_helper.h | 32 -- include/crypto/internal/simd.h | 7 + include/crypto/lrw.h | 44 --- include/crypto/xts.h | 17 - 27 files changed, 1489 insertions(+), 4634 deletions(-) delete mode 100644 crypto/ablk_helper.c delete mode 100644 include/crypto/ablk_helper.h delete mode 100644 include/crypto/lrw.h -- 2.16.2