Commit 596103cf authored by Herbert Xu's avatar Herbert Xu

crypto: drivers - Fix Kconfig selects

This patch fixes a number of problems in crypto driver Kconfig
entries:

1. Select BLKCIPHER instead of BLKCIPHER2.  The latter is internal
and should not be used outside of the crypto API itself.
2. Do not select ALGAPI unless you use a legacy type like
CRYPTO_ALG_TYPE_CIPHER.
3. Select the algorithm type that you are implementing, e.g., AEAD.
4. Do not select generic C code such as CBC/ECB unless you use them
as a fallback.
5. Remove default n since that is the default default.
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 31267270
...@@ -162,9 +162,8 @@ config CRYPTO_GHASH_S390 ...@@ -162,9 +162,8 @@ config CRYPTO_GHASH_S390
config CRYPTO_DEV_MV_CESA config CRYPTO_DEV_MV_CESA
tristate "Marvell's Cryptographic Engine" tristate "Marvell's Cryptographic Engine"
depends on PLAT_ORION depends on PLAT_ORION
select CRYPTO_ALGAPI
select CRYPTO_AES select CRYPTO_AES
select CRYPTO_BLKCIPHER2 select CRYPTO_BLKCIPHER
select CRYPTO_HASH select CRYPTO_HASH
help help
This driver allows you to utilize the Cryptographic Engines and This driver allows you to utilize the Cryptographic Engines and
...@@ -176,7 +175,8 @@ config CRYPTO_DEV_MV_CESA ...@@ -176,7 +175,8 @@ config CRYPTO_DEV_MV_CESA
config CRYPTO_DEV_NIAGARA2 config CRYPTO_DEV_NIAGARA2
tristate "Niagara2 Stream Processing Unit driver" tristate "Niagara2 Stream Processing Unit driver"
select CRYPTO_DES select CRYPTO_DES
select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER
select CRYPTO_HASH
depends on SPARC64 depends on SPARC64
help help
Each core of a Niagara2 processor contains a Stream Each core of a Niagara2 processor contains a Stream
...@@ -189,7 +189,6 @@ config CRYPTO_DEV_NIAGARA2 ...@@ -189,7 +189,6 @@ config CRYPTO_DEV_NIAGARA2
config CRYPTO_DEV_HIFN_795X config CRYPTO_DEV_HIFN_795X
tristate "Driver HIFN 795x crypto accelerator chips" tristate "Driver HIFN 795x crypto accelerator chips"
select CRYPTO_DES select CRYPTO_DES
select CRYPTO_ALGAPI
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
depends on PCI depends on PCI
...@@ -208,8 +207,10 @@ source drivers/crypto/caam/Kconfig ...@@ -208,8 +207,10 @@ source drivers/crypto/caam/Kconfig
config CRYPTO_DEV_TALITOS config CRYPTO_DEV_TALITOS
tristate "Talitos Freescale Security Engine (SEC)" tristate "Talitos Freescale Security Engine (SEC)"
select CRYPTO_ALGAPI select CRYPTO_AEAD
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_BLKCIPHER
select CRYPTO_HASH
select HW_RANDOM select HW_RANDOM
depends on FSL_SOC depends on FSL_SOC
help help
...@@ -244,7 +245,7 @@ config CRYPTO_DEV_IXP4XX ...@@ -244,7 +245,7 @@ config CRYPTO_DEV_IXP4XX
tristate "Driver for IXP4xx crypto hardware acceleration" tristate "Driver for IXP4xx crypto hardware acceleration"
depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE
select CRYPTO_DES select CRYPTO_DES
select CRYPTO_ALGAPI select CRYPTO_AEAD
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
help help
...@@ -254,7 +255,6 @@ config CRYPTO_DEV_PPC4XX ...@@ -254,7 +255,6 @@ config CRYPTO_DEV_PPC4XX
tristate "Driver AMCC PPC4xx crypto accelerator" tristate "Driver AMCC PPC4xx crypto accelerator"
depends on PPC && 4xx depends on PPC && 4xx
select CRYPTO_HASH select CRYPTO_HASH
select CRYPTO_ALGAPI
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
help help
This option allows you to have support for AMCC crypto acceleration. This option allows you to have support for AMCC crypto acceleration.
...@@ -275,7 +275,7 @@ config CRYPTO_DEV_OMAP_AES ...@@ -275,7 +275,7 @@ config CRYPTO_DEV_OMAP_AES
tristate "Support for OMAP AES hw engine" tristate "Support for OMAP AES hw engine"
depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS
select CRYPTO_AES select CRYPTO_AES
select CRYPTO_BLKCIPHER2 select CRYPTO_BLKCIPHER
help help
OMAP processors have AES module accelerator. Select this if you OMAP processors have AES module accelerator. Select this if you
want to use the OMAP module for AES algorithms. want to use the OMAP module for AES algorithms.
...@@ -284,7 +284,7 @@ config CRYPTO_DEV_OMAP_DES ...@@ -284,7 +284,7 @@ config CRYPTO_DEV_OMAP_DES
tristate "Support for OMAP DES3DES hw engine" tristate "Support for OMAP DES3DES hw engine"
depends on ARCH_OMAP2PLUS depends on ARCH_OMAP2PLUS
select CRYPTO_DES select CRYPTO_DES
select CRYPTO_BLKCIPHER2 select CRYPTO_BLKCIPHER
help help
OMAP processors have DES/3DES module accelerator. Select this if you OMAP processors have DES/3DES module accelerator. Select this if you
want to use the OMAP module for DES and 3DES algorithms. Currently want to use the OMAP module for DES and 3DES algorithms. Currently
...@@ -294,9 +294,10 @@ config CRYPTO_DEV_OMAP_DES ...@@ -294,9 +294,10 @@ config CRYPTO_DEV_OMAP_DES
config CRYPTO_DEV_PICOXCELL config CRYPTO_DEV_PICOXCELL
tristate "Support for picoXcell IPSEC and Layer2 crypto engines" tristate "Support for picoXcell IPSEC and Layer2 crypto engines"
depends on ARCH_PICOXCELL && HAVE_CLK depends on ARCH_PICOXCELL && HAVE_CLK
select CRYPTO_AEAD
select CRYPTO_AES select CRYPTO_AES
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER
select CRYPTO_DES select CRYPTO_DES
select CRYPTO_CBC select CRYPTO_CBC
select CRYPTO_ECB select CRYPTO_ECB
...@@ -322,7 +323,6 @@ config CRYPTO_DEV_S5P ...@@ -322,7 +323,6 @@ config CRYPTO_DEV_S5P
tristate "Support for Samsung S5PV210/Exynos crypto accelerator" tristate "Support for Samsung S5PV210/Exynos crypto accelerator"
depends on ARCH_S5PV210 || ARCH_EXYNOS depends on ARCH_S5PV210 || ARCH_EXYNOS
select CRYPTO_AES select CRYPTO_AES
select CRYPTO_ALGAPI
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
help help
This option allows you to have support for S5P crypto acceleration. This option allows you to have support for S5P crypto acceleration.
...@@ -345,7 +345,6 @@ endif ...@@ -345,7 +345,6 @@ endif
config CRYPTO_DEV_UX500 config CRYPTO_DEV_UX500
tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration" tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration"
depends on ARCH_U8500 depends on ARCH_U8500
select CRYPTO_ALGAPI
help help
Driver for ST-Ericsson UX500 crypto engine. Driver for ST-Ericsson UX500 crypto engine.
...@@ -363,10 +362,7 @@ config CRYPTO_DEV_BFIN_CRC ...@@ -363,10 +362,7 @@ config CRYPTO_DEV_BFIN_CRC
config CRYPTO_DEV_ATMEL_AES config CRYPTO_DEV_ATMEL_AES
tristate "Support for Atmel AES hw accelerator" tristate "Support for Atmel AES hw accelerator"
depends on ARCH_AT91 depends on ARCH_AT91
select CRYPTO_CBC
select CRYPTO_ECB
select CRYPTO_AES select CRYPTO_AES
select CRYPTO_ALGAPI
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
select AT_HDMAC select AT_HDMAC
help help
...@@ -381,9 +377,6 @@ config CRYPTO_DEV_ATMEL_TDES ...@@ -381,9 +377,6 @@ config CRYPTO_DEV_ATMEL_TDES
tristate "Support for Atmel DES/TDES hw accelerator" tristate "Support for Atmel DES/TDES hw accelerator"
depends on ARCH_AT91 depends on ARCH_AT91
select CRYPTO_DES select CRYPTO_DES
select CRYPTO_CBC
select CRYPTO_ECB
select CRYPTO_ALGAPI
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
help help
Some Atmel processors have DES/TDES hw accelerator. Some Atmel processors have DES/TDES hw accelerator.
...@@ -396,10 +389,7 @@ config CRYPTO_DEV_ATMEL_TDES ...@@ -396,10 +389,7 @@ config CRYPTO_DEV_ATMEL_TDES
config CRYPTO_DEV_ATMEL_SHA config CRYPTO_DEV_ATMEL_SHA
tristate "Support for Atmel SHA hw accelerator" tristate "Support for Atmel SHA hw accelerator"
depends on ARCH_AT91 depends on ARCH_AT91
select CRYPTO_SHA1 select CRYPTO_HASH
select CRYPTO_SHA256
select CRYPTO_SHA512
select CRYPTO_ALGAPI
help help
Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512
hw accelerator. hw accelerator.
...@@ -412,7 +402,6 @@ config CRYPTO_DEV_ATMEL_SHA ...@@ -412,7 +402,6 @@ config CRYPTO_DEV_ATMEL_SHA
config CRYPTO_DEV_CCP config CRYPTO_DEV_CCP
bool "Support for AMD Cryptographic Coprocessor" bool "Support for AMD Cryptographic Coprocessor"
depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM
default n
help help
The AMD Cryptographic Coprocessor provides hardware support The AMD Cryptographic Coprocessor provides hardware support
for encryption, hashing and related operations. for encryption, hashing and related operations.
...@@ -424,13 +413,11 @@ endif ...@@ -424,13 +413,11 @@ endif
config CRYPTO_DEV_MXS_DCP config CRYPTO_DEV_MXS_DCP
tristate "Support for Freescale MXS DCP" tristate "Support for Freescale MXS DCP"
depends on ARCH_MXS depends on ARCH_MXS
select CRYPTO_SHA1
select CRYPTO_SHA256
select CRYPTO_CBC select CRYPTO_CBC
select CRYPTO_ECB select CRYPTO_ECB
select CRYPTO_AES select CRYPTO_AES
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
select CRYPTO_ALGAPI select CRYPTO_HASH
help help
The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB
co-processor on the die. co-processor on the die.
...@@ -449,7 +436,6 @@ config CRYPTO_DEV_QCE ...@@ -449,7 +436,6 @@ config CRYPTO_DEV_QCE
select CRYPTO_CBC select CRYPTO_CBC
select CRYPTO_XTS select CRYPTO_XTS
select CRYPTO_CTR select CRYPTO_CTR
select CRYPTO_ALGAPI
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
help help
This driver supports Qualcomm crypto engine accelerator This driver supports Qualcomm crypto engine accelerator
...@@ -468,7 +454,6 @@ config CRYPTO_DEV_IMGTEC_HASH ...@@ -468,7 +454,6 @@ config CRYPTO_DEV_IMGTEC_HASH
tristate "Imagination Technologies hardware hash accelerator" tristate "Imagination Technologies hardware hash accelerator"
depends on MIPS || COMPILE_TEST depends on MIPS || COMPILE_TEST
depends on HAS_DMA depends on HAS_DMA
select CRYPTO_ALGAPI
select CRYPTO_MD5 select CRYPTO_MD5
select CRYPTO_SHA1 select CRYPTO_SHA1
select CRYPTO_SHA256 select CRYPTO_SHA256
......
...@@ -45,7 +45,6 @@ config CRYPTO_DEV_FSL_CAAM_RINGSIZE ...@@ -45,7 +45,6 @@ config CRYPTO_DEV_FSL_CAAM_RINGSIZE
config CRYPTO_DEV_FSL_CAAM_INTC config CRYPTO_DEV_FSL_CAAM_INTC
bool "Job Ring interrupt coalescing" bool "Job Ring interrupt coalescing"
depends on CRYPTO_DEV_FSL_CAAM_JR depends on CRYPTO_DEV_FSL_CAAM_JR
default n
help help
Enable the Job Ring's interrupt coalescing feature. Enable the Job Ring's interrupt coalescing feature.
...@@ -77,8 +76,9 @@ config CRYPTO_DEV_FSL_CAAM_CRYPTO_API ...@@ -77,8 +76,9 @@ config CRYPTO_DEV_FSL_CAAM_CRYPTO_API
tristate "Register algorithm implementations with the Crypto API" tristate "Register algorithm implementations with the Crypto API"
depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR
default y default y
select CRYPTO_ALGAPI select CRYPTO_AEAD
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_BLKCIPHER
help help
Selecting this will offload crypto for users of the Selecting this will offload crypto for users of the
scatterlist crypto API (such as the linux native IPSec scatterlist crypto API (such as the linux native IPSec
...@@ -115,7 +115,6 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API ...@@ -115,7 +115,6 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API
config CRYPTO_DEV_FSL_CAAM_DEBUG config CRYPTO_DEV_FSL_CAAM_DEBUG
bool "Enable debug output in CAAM driver" bool "Enable debug output in CAAM driver"
depends on CRYPTO_DEV_FSL_CAAM depends on CRYPTO_DEV_FSL_CAAM
default n
help help
Selecting this will enable printing of various debug Selecting this will enable printing of various debug
information in the CAAM driver. information in the CAAM driver.
...@@ -13,7 +13,6 @@ config CRYPTO_DEV_CCP_CRYPTO ...@@ -13,7 +13,6 @@ config CRYPTO_DEV_CCP_CRYPTO
tristate "Encryption and hashing acceleration support" tristate "Encryption and hashing acceleration support"
depends on CRYPTO_DEV_CCP_DD depends on CRYPTO_DEV_CCP_DD
default m default m
select CRYPTO_ALGAPI
select CRYPTO_HASH select CRYPTO_HASH
select CRYPTO_BLKCIPHER select CRYPTO_BLKCIPHER
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
......
...@@ -3,16 +3,8 @@ config CRYPTO_DEV_NX_ENCRYPT ...@@ -3,16 +3,8 @@ config CRYPTO_DEV_NX_ENCRYPT
tristate "Encryption acceleration support on pSeries platform" tristate "Encryption acceleration support on pSeries platform"
depends on PPC_PSERIES && IBMVIO && !CPU_LITTLE_ENDIAN depends on PPC_PSERIES && IBMVIO && !CPU_LITTLE_ENDIAN
default y default y
select CRYPTO_ALGAPI
select CRYPTO_AES select CRYPTO_AES
select CRYPTO_CBC
select CRYPTO_ECB
select CRYPTO_CCM select CRYPTO_CCM
select CRYPTO_GCM
select CRYPTO_AUTHENC
select CRYPTO_XCBC
select CRYPTO_SHA256
select CRYPTO_SHA512
help help
Support for PowerPC Nest (NX) encryption acceleration. This Support for PowerPC Nest (NX) encryption acceleration. This
module supports acceleration for AES and SHA2 algorithms on module supports acceleration for AES and SHA2 algorithms on
......
...@@ -2,9 +2,8 @@ config CRYPTO_DEV_QAT ...@@ -2,9 +2,8 @@ config CRYPTO_DEV_QAT
tristate tristate
select CRYPTO_AEAD select CRYPTO_AEAD
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER
select CRYPTO_AES select CRYPTO_HMAC
select CRYPTO_CBC
select CRYPTO_SHA1 select CRYPTO_SHA1
select CRYPTO_SHA256 select CRYPTO_SHA256
select CRYPTO_SHA512 select CRYPTO_SHA512
...@@ -13,7 +12,6 @@ config CRYPTO_DEV_QAT ...@@ -13,7 +12,6 @@ config CRYPTO_DEV_QAT
config CRYPTO_DEV_QAT_DH895xCC config CRYPTO_DEV_QAT_DH895xCC
tristate "Support for Intel(R) DH895xCC" tristate "Support for Intel(R) DH895xCC"
depends on X86 && PCI depends on X86 && PCI
default n
select CRYPTO_DEV_QAT select CRYPTO_DEV_QAT
help help
Support for Intel(R) DH895xcc with Intel(R) QuickAssist Technology Support for Intel(R) DH895xcc with Intel(R) QuickAssist Technology
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
config CRYPTO_DEV_UX500_CRYP config CRYPTO_DEV_UX500_CRYP
tristate "UX500 crypto driver for CRYP block" tristate "UX500 crypto driver for CRYP block"
depends on CRYPTO_DEV_UX500 depends on CRYPTO_DEV_UX500
select CRYPTO_ALGAPI
select CRYPTO_BLKCIPHER
select CRYPTO_DES select CRYPTO_DES
help help
This selects the crypto driver for the UX500_CRYP hardware. It supports This selects the crypto driver for the UX500_CRYP hardware. It supports
...@@ -16,7 +18,6 @@ config CRYPTO_DEV_UX500_HASH ...@@ -16,7 +18,6 @@ config CRYPTO_DEV_UX500_HASH
tristate "UX500 crypto driver for HASH block" tristate "UX500 crypto driver for HASH block"
depends on CRYPTO_DEV_UX500 depends on CRYPTO_DEV_UX500
select CRYPTO_HASH select CRYPTO_HASH
select CRYPTO_HMAC
help help
This selects the hash driver for the UX500_HASH hardware. This selects the hash driver for the UX500_HASH hardware.
Depends on UX500/STM DMA if running in DMA mode. Depends on UX500/STM DMA if running in DMA mode.
...@@ -24,7 +25,6 @@ config CRYPTO_DEV_UX500_HASH ...@@ -24,7 +25,6 @@ config CRYPTO_DEV_UX500_HASH
config CRYPTO_DEV_UX500_DEBUG config CRYPTO_DEV_UX500_DEBUG
bool "Activate ux500 platform debug-mode for crypto and hash block" bool "Activate ux500 platform debug-mode for crypto and hash block"
depends on CRYPTO_DEV_UX500_CRYP || CRYPTO_DEV_UX500_HASH depends on CRYPTO_DEV_UX500_CRYP || CRYPTO_DEV_UX500_HASH
default n
help help
Say Y if you want to add debug prints to ux500_hash and Say Y if you want to add debug prints to ux500_hash and
ux500_cryp devices. ux500_cryp devices.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment