config CRYPTO_DEV_MV_CESA
        tristate "Marvell's Cryptographic Engine"
        depends on PLAT_ORION
-       select CRYPTO_ALGAPI
        select CRYPTO_AES
-       select CRYPTO_BLKCIPHER2
+       select CRYPTO_BLKCIPHER
        select CRYPTO_HASH
        help
          This driver allows you to utilize the Cryptographic Engines and
 config CRYPTO_DEV_NIAGARA2
        tristate "Niagara2 Stream Processing Unit driver"
        select CRYPTO_DES
-       select CRYPTO_ALGAPI
+       select CRYPTO_BLKCIPHER
+       select CRYPTO_HASH
        depends on SPARC64
        help
          Each core of a Niagara2 processor contains a Stream
 config CRYPTO_DEV_HIFN_795X
        tristate "Driver HIFN 795x crypto accelerator chips"
        select CRYPTO_DES
-       select CRYPTO_ALGAPI
        select CRYPTO_BLKCIPHER
        select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
        depends on PCI
 
 config CRYPTO_DEV_TALITOS
        tristate "Talitos Freescale Security Engine (SEC)"
-       select CRYPTO_ALGAPI
+       select CRYPTO_AEAD
        select CRYPTO_AUTHENC
+       select CRYPTO_BLKCIPHER
+       select CRYPTO_HASH
        select HW_RANDOM
        depends on FSL_SOC
        help
        tristate "Driver for IXP4xx crypto hardware acceleration"
        depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE
        select CRYPTO_DES
-       select CRYPTO_ALGAPI
+       select CRYPTO_AEAD
        select CRYPTO_AUTHENC
        select CRYPTO_BLKCIPHER
        help
        tristate "Driver AMCC PPC4xx crypto accelerator"
        depends on PPC && 4xx
        select CRYPTO_HASH
-       select CRYPTO_ALGAPI
        select CRYPTO_BLKCIPHER
        help
          This option allows you to have support for AMCC crypto acceleration.
        tristate "Support for OMAP AES hw engine"
        depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS
        select CRYPTO_AES
-       select CRYPTO_BLKCIPHER2
+       select CRYPTO_BLKCIPHER
        help
          OMAP processors have AES module accelerator. Select this if you
          want to use the OMAP module for AES algorithms.
        tristate "Support for OMAP DES3DES hw engine"
        depends on ARCH_OMAP2PLUS
        select CRYPTO_DES
-       select CRYPTO_BLKCIPHER2
+       select CRYPTO_BLKCIPHER
        help
          OMAP processors have DES/3DES module accelerator. Select this if you
          want to use the OMAP module for DES and 3DES algorithms. Currently
 config CRYPTO_DEV_PICOXCELL
        tristate "Support for picoXcell IPSEC and Layer2 crypto engines"
        depends on ARCH_PICOXCELL && HAVE_CLK
+       select CRYPTO_AEAD
        select CRYPTO_AES
        select CRYPTO_AUTHENC
-       select CRYPTO_ALGAPI
+       select CRYPTO_BLKCIPHER
        select CRYPTO_DES
        select CRYPTO_CBC
        select CRYPTO_ECB
        tristate "Support for Samsung S5PV210/Exynos crypto accelerator"
        depends on ARCH_S5PV210 || ARCH_EXYNOS
        select CRYPTO_AES
-       select CRYPTO_ALGAPI
        select CRYPTO_BLKCIPHER
        help
          This option allows you to have support for S5P crypto acceleration.
 config CRYPTO_DEV_UX500
        tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration"
        depends on ARCH_U8500
-       select CRYPTO_ALGAPI
        help
          Driver for ST-Ericsson UX500 crypto engine.
 
 config CRYPTO_DEV_ATMEL_AES
        tristate "Support for Atmel AES hw accelerator"
        depends on ARCH_AT91
-       select CRYPTO_CBC
-       select CRYPTO_ECB
        select CRYPTO_AES
-       select CRYPTO_ALGAPI
        select CRYPTO_BLKCIPHER
        select AT_HDMAC
        help
        tristate "Support for Atmel DES/TDES hw accelerator"
        depends on ARCH_AT91
        select CRYPTO_DES
-       select CRYPTO_CBC
-       select CRYPTO_ECB
-       select CRYPTO_ALGAPI
        select CRYPTO_BLKCIPHER
        help
          Some Atmel processors have DES/TDES hw accelerator.
 config CRYPTO_DEV_ATMEL_SHA
        tristate "Support for Atmel SHA hw accelerator"
        depends on ARCH_AT91
-       select CRYPTO_SHA1
-       select CRYPTO_SHA256
-       select CRYPTO_SHA512
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512
          hw accelerator.
 config CRYPTO_DEV_CCP
        bool "Support for AMD Cryptographic Coprocessor"
        depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM
-       default n
        help
          The AMD Cryptographic Coprocessor provides hardware support
          for encryption, hashing and related operations.
 config CRYPTO_DEV_MXS_DCP
        tristate "Support for Freescale MXS DCP"
        depends on ARCH_MXS
-       select CRYPTO_SHA1
-       select CRYPTO_SHA256
        select CRYPTO_CBC
        select CRYPTO_ECB
        select CRYPTO_AES
        select CRYPTO_BLKCIPHER
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB
          co-processor on the die.
        select CRYPTO_CBC
        select CRYPTO_XTS
        select CRYPTO_CTR
-       select CRYPTO_ALGAPI
        select CRYPTO_BLKCIPHER
        help
          This driver supports Qualcomm crypto engine accelerator
        tristate "Imagination Technologies hardware hash accelerator"
        depends on MIPS || COMPILE_TEST
        depends on HAS_DMA
-       select CRYPTO_ALGAPI
        select CRYPTO_MD5
        select CRYPTO_SHA1
        select CRYPTO_SHA256
 
 config CRYPTO_DEV_FSL_CAAM_INTC
        bool "Job Ring interrupt coalescing"
        depends on CRYPTO_DEV_FSL_CAAM_JR
-       default n
        help
          Enable the Job Ring's interrupt coalescing feature.
 
        tristate "Register algorithm implementations with the Crypto API"
        depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR
        default y
-       select CRYPTO_ALGAPI
+       select CRYPTO_AEAD
        select CRYPTO_AUTHENC
+       select CRYPTO_BLKCIPHER
        help
          Selecting this will offload crypto for users of the
          scatterlist crypto API (such as the linux native IPSec
 config CRYPTO_DEV_FSL_CAAM_DEBUG
        bool "Enable debug output in CAAM driver"
        depends on CRYPTO_DEV_FSL_CAAM
-       default n
        help
          Selecting this will enable printing of various debug
          information in the CAAM driver.
 
 config CRYPTO_DEV_UX500_CRYP
        tristate "UX500 crypto driver for CRYP block"
        depends on CRYPTO_DEV_UX500
+       select CRYPTO_ALGAPI
+       select CRYPTO_BLKCIPHER
        select CRYPTO_DES
        help
         This selects the crypto driver for the UX500_CRYP hardware. It supports
         tristate "UX500 crypto driver for HASH block"
         depends on CRYPTO_DEV_UX500
         select CRYPTO_HASH
-        select CRYPTO_HMAC
         help
           This selects the hash driver for the UX500_HASH hardware.
           Depends on UX500/STM DMA if running in DMA mode.
 config CRYPTO_DEV_UX500_DEBUG
        bool "Activate ux500 platform debug-mode for crypto and hash block"
        depends on CRYPTO_DEV_UX500_CRYP || CRYPTO_DEV_UX500_HASH
-       default n
        help
          Say Y if you want to add debug prints to ux500_hash and
          ux500_cryp devices.