Lines Matching refs:t_alg
3143 struct talitos_crypto_alg *t_alg, *n;
3146 list_for_each_entry_safe(t_alg, n, &priv->alg_list, entry) {
3147 switch (t_alg->algt.type) {
3149 crypto_unregister_skcipher(&t_alg->algt.alg.skcipher);
3152 crypto_unregister_aead(&t_alg->algt.alg.aead);
3155 crypto_unregister_ahash(&t_alg->algt.alg.hash);
3158 list_del(&t_alg->entry);
3182 struct talitos_crypto_alg *t_alg;
3185 t_alg = devm_kzalloc(dev, sizeof(struct talitos_crypto_alg),
3187 if (!t_alg)
3190 t_alg->algt = *template;
3192 switch (t_alg->algt.type) {
3194 alg = &t_alg->algt.alg.skcipher.base;
3196 t_alg->algt.alg.skcipher.init = talitos_cra_init_skcipher;
3197 t_alg->algt.alg.skcipher.setkey =
3198 t_alg->algt.alg.skcipher.setkey ?: skcipher_setkey;
3199 t_alg->algt.alg.skcipher.encrypt = skcipher_encrypt;
3200 t_alg->algt.alg.skcipher.decrypt = skcipher_decrypt;
3202 DESC_TYPE(t_alg->algt.desc_hdr_template) !=
3204 devm_kfree(dev, t_alg);
3209 alg = &t_alg->algt.alg.aead.base;
3211 t_alg->algt.alg.aead.init = talitos_cra_init_aead;
3212 t_alg->algt.alg.aead.setkey = t_alg->algt.alg.aead.setkey ?:
3214 t_alg->algt.alg.aead.encrypt = aead_encrypt;
3215 t_alg->algt.alg.aead.decrypt = aead_decrypt;
3218 devm_kfree(dev, t_alg);
3223 alg = &t_alg->algt.alg.hash.halg.base;
3226 t_alg->algt.alg.hash.init = ahash_init;
3227 t_alg->algt.alg.hash.update = ahash_update;
3228 t_alg->algt.alg.hash.final = ahash_final;
3229 t_alg->algt.alg.hash.finup = ahash_finup;
3230 t_alg->algt.alg.hash.digest = ahash_digest;
3232 t_alg->algt.alg.hash.setkey = ahash_setkey;
3233 t_alg->algt.alg.hash.import = ahash_import;
3234 t_alg->algt.alg.hash.export = ahash_export;
3238 devm_kfree(dev, t_alg);
3244 t_alg->algt.alg.hash.init = ahash_init_sha224_swinit;
3245 t_alg->algt.desc_hdr_template =
3252 dev_err(dev, "unknown algorithm type %d\n", t_alg->algt.type);
3253 devm_kfree(dev, t_alg);
3258 if (t_alg->algt.priority)
3259 alg->cra_priority = t_alg->algt.priority;
3269 t_alg->dev = dev;
3271 return t_alg;
3491 struct talitos_crypto_alg *t_alg;
3494 t_alg = talitos_alg_alloc(dev, &driver_algs[i]);
3495 if (IS_ERR(t_alg)) {
3496 err = PTR_ERR(t_alg);
3502 switch (t_alg->algt.type) {
3505 &t_alg->algt.alg.skcipher);
3506 alg = &t_alg->algt.alg.skcipher.base;
3511 &t_alg->algt.alg.aead);
3512 alg = &t_alg->algt.alg.aead.base;
3517 &t_alg->algt.alg.hash);
3518 alg = &t_alg->algt.alg.hash.halg.base;
3524 devm_kfree(dev, t_alg);
3526 list_add_tail(&t_alg->entry, &priv->alg_list);