if (IS_ERR(streamcipher))
                return PTR_ERR(streamcipher);
 
-       blockcipher = crypto_spawn_cipher(&ictx->blockcipher_spawn.base);
+       blockcipher = crypto_spawn_cipher(&ictx->blockcipher_spawn);
        if (IS_ERR(blockcipher)) {
                err = PTR_ERR(blockcipher);
                goto err_free_streamcipher;
 
 {
        struct crypto_cipher *cipher;
        struct crypto_instance *inst = (void *)tfm->__crt_alg;
-       struct crypto_spawn *spawn = crypto_instance_ctx(inst);
+       struct crypto_cipher_spawn *spawn = crypto_instance_ctx(inst);
        struct cbcmac_tfm_ctx *ctx = crypto_tfm_ctx(tfm);
 
        cipher = crypto_spawn_cipher(spawn);
 
 {
        struct crypto_cipher *cipher;
        struct crypto_instance *inst = (void *)tfm->__crt_alg;
-       struct crypto_spawn *spawn = crypto_instance_ctx(inst);
+       struct crypto_cipher_spawn *spawn = crypto_instance_ctx(inst);
        struct cmac_tfm_ctx *ctx = crypto_tfm_ctx(tfm);
 
        cipher = crypto_spawn_cipher(spawn);
 
 static int skcipher_init_tfm_simple(struct crypto_skcipher *tfm)
 {
        struct skcipher_instance *inst = skcipher_alg_instance(tfm);
-       struct crypto_spawn *spawn = skcipher_instance_ctx(inst);
+       struct crypto_cipher_spawn *spawn = skcipher_instance_ctx(inst);
        struct skcipher_ctx_simple *ctx = crypto_skcipher_ctx(tfm);
        struct crypto_cipher *cipher;
 
 
 static int vmac_init_tfm(struct crypto_tfm *tfm)
 {
        struct crypto_instance *inst = crypto_tfm_alg_instance(tfm);
-       struct crypto_spawn *spawn = crypto_instance_ctx(inst);
+       struct crypto_cipher_spawn *spawn = crypto_instance_ctx(inst);
        struct vmac_tfm_ctx *tctx = crypto_tfm_ctx(tfm);
        struct crypto_cipher *cipher;
 
 
 {
        struct crypto_cipher *cipher;
        struct crypto_instance *inst = (void *)tfm->__crt_alg;
-       struct crypto_spawn *spawn = crypto_instance_ctx(inst);
+       struct crypto_cipher_spawn *spawn = crypto_instance_ctx(inst);
        struct xcbc_tfm_ctx *ctx = crypto_tfm_ctx(tfm);
 
        cipher = crypto_spawn_cipher(spawn);
 
 }
 
 static inline struct crypto_cipher *crypto_spawn_cipher(
-       struct crypto_spawn *spawn)
+       struct crypto_cipher_spawn *spawn)
 {
        u32 type = CRYPTO_ALG_TYPE_CIPHER;
        u32 mask = CRYPTO_ALG_TYPE_MASK;
 
-       return __crypto_cipher_cast(crypto_spawn_tfm(spawn, type, mask));
+       return __crypto_cipher_cast(crypto_spawn_tfm(&spawn->base, type, mask));
 }
 
 static inline struct cipher_alg *crypto_cipher_alg(struct crypto_cipher *tfm)