Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[cascardo/linux.git] / arch / arm64 / crypto / aes-glue.c
index 5f63a79..b1b5b89 100644 (file)
 #include <linux/module.h>
 #include <linux/cpufeature.h>
 
+#include "aes-ce-setkey.h"
+
 #ifdef USE_V8_CRYPTO_EXTENSIONS
 #define MODE                   "ce"
 #define PRIO                   300
+#define aes_setkey             ce_aes_setkey
+#define aes_expandkey          ce_aes_expandkey
 #define aes_ecb_encrypt                ce_aes_ecb_encrypt
 #define aes_ecb_decrypt                ce_aes_ecb_decrypt
 #define aes_cbc_encrypt                ce_aes_cbc_encrypt
@@ -30,6 +34,8 @@ MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 Crypto Extensions");
 #else
 #define MODE                   "neon"
 #define PRIO                   200
+#define aes_setkey             crypto_aes_set_key
+#define aes_expandkey          crypto_aes_expand_key
 #define aes_ecb_encrypt                neon_aes_ecb_encrypt
 #define aes_ecb_decrypt                neon_aes_ecb_decrypt
 #define aes_cbc_encrypt                neon_aes_cbc_encrypt
@@ -79,10 +85,10 @@ static int xts_set_key(struct crypto_tfm *tfm, const u8 *in_key,
        struct crypto_aes_xts_ctx *ctx = crypto_tfm_ctx(tfm);
        int ret;
 
-       ret = crypto_aes_expand_key(&ctx->key1, in_key, key_len / 2);
+       ret = aes_expandkey(&ctx->key1, in_key, key_len / 2);
        if (!ret)
-               ret = crypto_aes_expand_key(&ctx->key2, &in_key[key_len / 2],
-                                           key_len / 2);
+               ret = aes_expandkey(&ctx->key2, &in_key[key_len / 2],
+                                   key_len / 2);
        if (!ret)
                return 0;
 
@@ -288,7 +294,7 @@ static struct crypto_alg aes_algs[] = { {
                .min_keysize    = AES_MIN_KEY_SIZE,
                .max_keysize    = AES_MAX_KEY_SIZE,
                .ivsize         = AES_BLOCK_SIZE,
-               .setkey         = crypto_aes_set_key,
+               .setkey         = aes_setkey,
                .encrypt        = ecb_encrypt,
                .decrypt        = ecb_decrypt,
        },
@@ -306,7 +312,7 @@ static struct crypto_alg aes_algs[] = { {
                .min_keysize    = AES_MIN_KEY_SIZE,
                .max_keysize    = AES_MAX_KEY_SIZE,
                .ivsize         = AES_BLOCK_SIZE,
-               .setkey         = crypto_aes_set_key,
+               .setkey         = aes_setkey,
                .encrypt        = cbc_encrypt,
                .decrypt        = cbc_decrypt,
        },
@@ -324,7 +330,7 @@ static struct crypto_alg aes_algs[] = { {
                .min_keysize    = AES_MIN_KEY_SIZE,
                .max_keysize    = AES_MAX_KEY_SIZE,
                .ivsize         = AES_BLOCK_SIZE,
-               .setkey         = crypto_aes_set_key,
+               .setkey         = aes_setkey,
                .encrypt        = ctr_encrypt,
                .decrypt        = ctr_encrypt,
        },