Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+13 −28
Original line number Original line Diff line number Diff line
@@ -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
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
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


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
	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
	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
	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
	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
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
	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
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
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
	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
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
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
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
	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
	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
+2 −3
Original line number Original line Diff line number Diff line
@@ -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
	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
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.
+0 −1
Original line number Original line Diff line number Diff line
@@ -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
+0 −8
Original line number Original line Diff line number Diff line
@@ -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 −4
Original line number Original line Diff line number Diff line
@@ -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
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
Loading