aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2005-11-05 02:06:26 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-01-09 17:15:39 -0500
commitc8a19c91b5b488fed8cce04200a84c6a35c0bf0c (patch)
treee0296c60f7601c5a1d1cf5fa9afd0e38f92e6995
parent5cb1454b862ab3040b78364d58330262fea1ddba (diff)
[CRYPTO] Allow AES C/ASM implementations to coexist
As the Crypto API now allows multiple implementations to be registered for the same algorithm, we no longer have to play tricks with Kconfig to select the right AES implementation. This patch sets the driver name and priority for all the AES implementations and removes the Kconfig conditions on the C implementation for AES. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--arch/i386/crypto/aes.c2
-rw-r--r--arch/x86_64/crypto/aes.c2
-rw-r--r--crypto/Kconfig2
-rw-r--r--crypto/aes.c2
-rw-r--r--drivers/crypto/padlock-aes.c2
5 files changed, 9 insertions, 1 deletions
diff --git a/arch/i386/crypto/aes.c b/arch/i386/crypto/aes.c
index 1deb9ff564be..138652aafcbf 100644
--- a/arch/i386/crypto/aes.c
+++ b/arch/i386/crypto/aes.c
@@ -486,6 +486,8 @@ static inline void aes_decrypt(void *ctx, u8 *dst, const u8 *src)
486 486
487static struct crypto_alg aes_alg = { 487static struct crypto_alg aes_alg = {
488 .cra_name = "aes", 488 .cra_name = "aes",
489 .cra_driver_name = "aes-i586",
490 .cra_priority = 200,
489 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 491 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
490 .cra_blocksize = AES_BLOCK_SIZE, 492 .cra_blocksize = AES_BLOCK_SIZE,
491 .cra_ctxsize = sizeof(struct aes_ctx), 493 .cra_ctxsize = sizeof(struct aes_ctx),
diff --git a/arch/x86_64/crypto/aes.c b/arch/x86_64/crypto/aes.c
index 19996854b490..fb1b961a2e2f 100644
--- a/arch/x86_64/crypto/aes.c
+++ b/arch/x86_64/crypto/aes.c
@@ -289,6 +289,8 @@ extern void aes_decrypt(void *ctx_arg, u8 *out, const u8 *in);
289 289
290static struct crypto_alg aes_alg = { 290static struct crypto_alg aes_alg = {
291 .cra_name = "aes", 291 .cra_name = "aes",
292 .cra_driver_name = "aes-x86_64",
293 .cra_priority = 200,
292 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 294 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
293 .cra_blocksize = AES_BLOCK_SIZE, 295 .cra_blocksize = AES_BLOCK_SIZE,
294 .cra_ctxsize = sizeof(struct aes_ctx), 296 .cra_ctxsize = sizeof(struct aes_ctx),
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 52e1d4108a99..c442f2e7ce46 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -157,7 +157,7 @@ config CRYPTO_SERPENT
157 157
158config CRYPTO_AES 158config CRYPTO_AES
159 tristate "AES cipher algorithms" 159 tristate "AES cipher algorithms"
160 depends on CRYPTO && !(X86 || UML_X86) 160 depends on CRYPTO
161 help 161 help
162 AES cipher algorithms (FIPS-197). AES uses the Rijndael 162 AES cipher algorithms (FIPS-197). AES uses the Rijndael
163 algorithm. 163 algorithm.
diff --git a/crypto/aes.c b/crypto/aes.c
index 35a11deef29b..b9b2afb42792 100644
--- a/crypto/aes.c
+++ b/crypto/aes.c
@@ -418,6 +418,8 @@ static void aes_decrypt(void *ctx_arg, u8 *out, const u8 *in)
418 418
419static struct crypto_alg aes_alg = { 419static struct crypto_alg aes_alg = {
420 .cra_name = "aes", 420 .cra_name = "aes",
421 .cra_driver_name = "aes-generic",
422 .cra_priority = 100,
421 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 423 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
422 .cra_blocksize = AES_BLOCK_SIZE, 424 .cra_blocksize = AES_BLOCK_SIZE,
423 .cra_ctxsize = sizeof(struct aes_ctx), 425 .cra_ctxsize = sizeof(struct aes_ctx),
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c
index 963e03dcb1ba..64819aa7cac4 100644
--- a/drivers/crypto/padlock-aes.c
+++ b/drivers/crypto/padlock-aes.c
@@ -466,6 +466,8 @@ static unsigned int aes_decrypt_cbc(const struct cipher_desc *desc, u8 *out,
466 466
467static struct crypto_alg aes_alg = { 467static struct crypto_alg aes_alg = {
468 .cra_name = "aes", 468 .cra_name = "aes",
469 .cra_driver_name = "aes-padlock",
470 .cra_priority = 300,
469 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 471 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
470 .cra_blocksize = AES_BLOCK_SIZE, 472 .cra_blocksize = AES_BLOCK_SIZE,
471 .cra_ctxsize = sizeof(struct aes_ctx), 473 .cra_ctxsize = sizeof(struct aes_ctx),