Lines Matching refs:t_alg
3142 struct talitos_crypto_alg *t_alg, *n;
3145 list_for_each_entry_safe(t_alg, n, &priv->alg_list, entry) {
3146 switch (t_alg->algt.type) {
3148 crypto_unregister_skcipher(&t_alg->algt.alg.skcipher);
3151 crypto_unregister_aead(&t_alg->algt.alg.aead);
3154 crypto_unregister_ahash(&t_alg->algt.alg.hash);
3157 list_del(&t_alg->entry);
3181 struct talitos_crypto_alg *t_alg;
3184 t_alg = devm_kzalloc(dev, sizeof(struct talitos_crypto_alg),
3186 if (!t_alg)
3189 t_alg->algt = *template;
3191 switch (t_alg->algt.type) {
3193 alg = &t_alg->algt.alg.skcipher.base;
3195 t_alg->algt.alg.skcipher.init = talitos_cra_init_skcipher;
3196 t_alg->algt.alg.skcipher.setkey =
3197 t_alg->algt.alg.skcipher.setkey ?: skcipher_setkey;
3198 t_alg->algt.alg.skcipher.encrypt = skcipher_encrypt;
3199 t_alg->algt.alg.skcipher.decrypt = skcipher_decrypt;
3201 DESC_TYPE(t_alg->algt.desc_hdr_template) !=
3203 devm_kfree(dev, t_alg);
3208 alg = &t_alg->algt.alg.aead.base;
3210 t_alg->algt.alg.aead.init = talitos_cra_init_aead;
3211 t_alg->algt.alg.aead.setkey = t_alg->algt.alg.aead.setkey ?:
3213 t_alg->algt.alg.aead.encrypt = aead_encrypt;
3214 t_alg->algt.alg.aead.decrypt = aead_decrypt;
3217 devm_kfree(dev, t_alg);
3222 alg = &t_alg->algt.alg.hash.halg.base;
3225 t_alg->algt.alg.hash.init = ahash_init;
3226 t_alg->algt.alg.hash.update = ahash_update;
3227 t_alg->algt.alg.hash.final = ahash_final;
3228 t_alg->algt.alg.hash.finup = ahash_finup;
3229 t_alg->algt.alg.hash.digest = ahash_digest;
3231 t_alg->algt.alg.hash.setkey = ahash_setkey;
3232 t_alg->algt.alg.hash.import = ahash_import;
3233 t_alg->algt.alg.hash.export = ahash_export;
3237 devm_kfree(dev, t_alg);
3243 t_alg->algt.alg.hash.init = ahash_init_sha224_swinit;
3244 t_alg->algt.desc_hdr_template =
3251 dev_err(dev, "unknown algorithm type %d\n", t_alg->algt.type);
3252 devm_kfree(dev, t_alg);
3257 if (t_alg->algt.priority)
3258 alg->cra_priority = t_alg->algt.priority;
3268 t_alg->dev = dev;
3270 return t_alg;
3490 struct talitos_crypto_alg *t_alg;
3493 t_alg = talitos_alg_alloc(dev, &driver_algs[i]);
3494 if (IS_ERR(t_alg)) {
3495 err = PTR_ERR(t_alg);
3501 switch (t_alg->algt.type) {
3504 &t_alg->algt.alg.skcipher);
3505 alg = &t_alg->algt.alg.skcipher.base;
3510 &t_alg->algt.alg.aead);
3511 alg = &t_alg->algt.alg.aead.base;
3516 &t_alg->algt.alg.hash);
3517 alg = &t_alg->algt.alg.hash.halg.base;
3523 devm_kfree(dev, t_alg);
3525 list_add_tail(&t_alg->entry, &priv->alg_list);