mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 03:06:10 +00:00
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: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
fd09d7facb
commit
f2ac72e826
2 changed files with 6 additions and 0 deletions
|
@ -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 {
|
||||||
|
|
||||||
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];
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue