.cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos",
                        .cra_blocksize = AES_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha1-cbc-3des-talitos",
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha224-cbc-aes-talitos",
                        .cra_blocksize = AES_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha224-cbc-3des-talitos",
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha256-cbc-aes-talitos",
                        .cra_blocksize = AES_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha256-cbc-3des-talitos",
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha384-cbc-aes-talitos",
                        .cra_blocksize = AES_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha384-cbc-3des-talitos",
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha512-cbc-aes-talitos",
                        .cra_blocksize = AES_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-sha512-cbc-3des-talitos",
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-md5-cbc-aes-talitos",
                        .cra_blocksize = AES_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_driver_name = "authenc-hmac-md5-cbc-3des-talitos",
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_aead_type,
                        .cra_aead = {
                                .setkey = aead_setkey,
                                .setauthsize = aead_setauthsize,
                        .cra_blocksize = AES_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER |
                                      CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_ablkcipher_type,
                        .cra_ablkcipher = {
                                .setkey = ablkcipher_setkey,
                                .encrypt = ablkcipher_encrypt,
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
                        .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER |
                                      CRYPTO_ALG_ASYNC,
-                       .cra_type = &crypto_ablkcipher_type,
                        .cra_ablkcipher = {
                                .setkey = ablkcipher_setkey,
                                .encrypt = ablkcipher_encrypt,
                                .cra_blocksize = MD5_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA1_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA224_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA256_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA384_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA512_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = MD5_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA1_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA224_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA256_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA384_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
                                .cra_blocksize = SHA512_BLOCK_SIZE,
                                .cra_flags = CRYPTO_ALG_TYPE_AHASH |
                                             CRYPTO_ALG_ASYNC,
-                               .cra_type = &crypto_ahash_type
                        }
                },
                .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
        case CRYPTO_ALG_TYPE_ABLKCIPHER:
                alg = &t_alg->algt.alg.crypto;
                alg->cra_init = talitos_cra_init;
+               alg->cra_type = &crypto_ablkcipher_type;
                break;
        case CRYPTO_ALG_TYPE_AEAD:
                alg = &t_alg->algt.alg.crypto;
                alg->cra_init = talitos_cra_init_aead;
+               alg->cra_type = &crypto_aead_type;
                break;
        case CRYPTO_ALG_TYPE_AHASH:
                alg = &t_alg->algt.alg.hash.halg.base;
                alg->cra_init = talitos_cra_init_ahash;
+               alg->cra_type = &crypto_ahash_type;
                if (!(priv->features & TALITOS_FTR_HMAC_OK) &&
                    !strncmp(alg->cra_name, "hmac", 4)) {
                        kfree(t_alg);