Lines Matching refs:inst
66 static void crypto_free_instance(struct crypto_instance *inst) in crypto_free_instance() argument
68 inst->alg.cra_type->free(inst); in crypto_free_instance()
73 struct crypto_instance *inst = (void *)alg; in crypto_destroy_instance() local
74 struct crypto_template *tmpl = inst->tmpl; in crypto_destroy_instance()
76 crypto_free_instance(inst); in crypto_destroy_instance()
110 return &n->inst->alg.cra_users; in crypto_more_spawns()
113 static void crypto_remove_instance(struct crypto_instance *inst, in crypto_remove_instance() argument
116 struct crypto_template *tmpl = inst->tmpl; in crypto_remove_instance()
118 if (crypto_is_dead(&inst->alg)) in crypto_remove_instance()
121 inst->alg.cra_flags |= CRYPTO_ALG_DEAD; in crypto_remove_instance()
126 list_move(&inst->alg.cra_list, list); in crypto_remove_instance()
127 hlist_del(&inst->list); in crypto_remove_instance()
128 inst->alg.cra_destroy = crypto_destroy_instance; in crypto_remove_instance()
130 BUG_ON(!list_empty(&inst->alg.cra_users)); in crypto_remove_instance()
165 struct crypto_instance *inst; in crypto_remove_spawns() local
169 inst = spawn->inst; in crypto_remove_spawns()
172 spawn->dead = !spawn->registered || &inst->alg != nalg; in crypto_remove_spawns()
177 BUG_ON(&inst->alg == alg); in crypto_remove_spawns()
179 if (&inst->alg == nalg) in crypto_remove_spawns()
182 spawns = &inst->alg.cra_users; in crypto_remove_spawns()
214 crypto_remove_instance(spawn->inst, list); in crypto_remove_spawns()
541 struct crypto_instance *inst; in crypto_unregister_template() local
552 hlist_for_each_entry(inst, list, list) { in crypto_unregister_template()
553 int err = crypto_remove_alg(&inst->alg, &users); in crypto_unregister_template()
560 hlist_for_each_entry_safe(inst, n, list, list) { in crypto_unregister_template()
561 BUG_ON(refcount_read(&inst->alg.cra_refcnt) != 1); in crypto_unregister_template()
562 crypto_free_instance(inst); in crypto_unregister_template()
604 struct crypto_instance *inst) in crypto_register_instance() argument
610 err = crypto_check_alg(&inst->alg); in crypto_register_instance()
614 inst->alg.cra_module = tmpl->module; in crypto_register_instance()
615 inst->alg.cra_flags |= CRYPTO_ALG_INSTANCE; in crypto_register_instance()
620 for (spawn = inst->spawns; spawn;) { in crypto_register_instance()
627 spawn->inst = inst; in crypto_register_instance()
635 larval = __crypto_register_alg(&inst->alg); in crypto_register_instance()
639 hlist_add_head(&inst->list, &tmpl->instances); in crypto_register_instance()
640 inst->tmpl = tmpl; in crypto_register_instance()
657 void crypto_unregister_instance(struct crypto_instance *inst) in crypto_unregister_instance() argument
663 crypto_remove_spawns(&inst->alg, &list, NULL); in crypto_unregister_instance()
664 crypto_remove_instance(inst, &list); in crypto_unregister_instance()
672 int crypto_grab_spawn(struct crypto_spawn *spawn, struct crypto_instance *inst, in crypto_grab_spawn() argument
678 if (WARN_ON_ONCE(inst == NULL)) in crypto_grab_spawn()
694 spawn->next = inst->spawns; in crypto_grab_spawn()
695 inst->spawns = spawn; in crypto_grab_spawn()
696 inst->alg.cra_flags |= in crypto_grab_spawn()
892 int crypto_inst_setname(struct crypto_instance *inst, const char *name, in crypto_inst_setname() argument
895 if (snprintf(inst->alg.cra_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", name, in crypto_inst_setname()
899 if (snprintf(inst->alg.cra_driver_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", in crypto_inst_setname()