[Bluetooth] Add support for Canyon CN-BTU1 dongle
[pandora-kernel.git] / crypto / khazad.c
index 5b8dc9a..9fa24a2 100644 (file)
@@ -754,20 +754,14 @@ static const u64 c[KHAZAD_ROUNDS + 1] = {
        0xccc41d14c363da5dULL, 0x5fdc7dcd7f5a6c5cULL, 0xf726ffede89d6f8eULL
 };
 
-static int khazad_setkey(void *ctx_arg, const u8 *in_key,
-                       unsigned int key_len, u32 *flags)
+static int khazad_setkey(struct crypto_tfm *tfm, const u8 *in_key,
+                        unsigned int key_len)
 {
-       struct khazad_ctx *ctx = ctx_arg;
+       struct khazad_ctx *ctx = crypto_tfm_ctx(tfm);
        const __be32 *key = (const __be32 *)in_key;
        int r;
        const u64 *S = T7;
        u64 K2, K1;
-       
-       if (key_len != 16)
-       {
-               *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
-               return -EINVAL;
-       }
 
        /* key is supposed to be 32-bit aligned */
        K2 = ((u64)be32_to_cpu(key[0]) << 32) | be32_to_cpu(key[1]);
@@ -841,15 +835,15 @@ static void khazad_crypt(const u64 roundKey[KHAZAD_ROUNDS + 1],
        *dst = cpu_to_be64(state);
 }
 
-static void khazad_encrypt(void *ctx_arg, u8 *dst, const u8 *src)
+static void khazad_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
 {
-       struct khazad_ctx *ctx = ctx_arg;
+       struct khazad_ctx *ctx = crypto_tfm_ctx(tfm);
        khazad_crypt(ctx->E, dst, src);
 }
 
-static void khazad_decrypt(void *ctx_arg, u8 *dst, const u8 *src)
+static void khazad_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
 {
-       struct khazad_ctx *ctx = ctx_arg;
+       struct khazad_ctx *ctx = crypto_tfm_ctx(tfm);
        khazad_crypt(ctx->D, dst, src);
 }