Commit f2ac72e8 authored by Herbert Xu's avatar Herbert Xu

crypto: api - Add new template create function

This patch introduces the template->create function intended
to replace the existing alloc function.  The intention is for
create to handle the registration directly, whereas currently
the caller of alloc has to handle the registration.

This allows type-specific code to be run prior to registration.
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent fd09d7fa
...@@ -68,6 +68,11 @@ static int cryptomgr_probe(void *data) ...@@ -68,6 +68,11 @@ static int cryptomgr_probe(void *data)
goto err; goto err;
do { do {
if (tmpl->create) {
err = tmpl->create(tmpl, param->tb);
continue;
}
inst = tmpl->alloc(param->tb); inst = tmpl->alloc(param->tb);
if (IS_ERR(inst)) if (IS_ERR(inst))
err = PTR_ERR(inst); err = PTR_ERR(inst);
......
...@@ -52,6 +52,7 @@ struct crypto_template { ...@@ -52,6 +52,7 @@ struct crypto_template {
struct crypto_instance *(*alloc)(struct rtattr **tb); struct crypto_instance *(*alloc)(struct rtattr **tb);
void (*free)(struct crypto_instance *inst); void (*free)(struct crypto_instance *inst);
int (*create)(struct crypto_template *tmpl, struct rtattr **tb);
char name[CRYPTO_MAX_ALG_NAME]; char name[CRYPTO_MAX_ALG_NAME];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment