[PATCH 12/29] crypto: talitos/hash - Convert to init_tfm/exit_tfm type-specific API
From: Paul Louvel
Date: Thu May 28 2026 - 05:15:47 EST
Since commit 6eed1e3552fc0 ("crypto: api - Mark cra_init/cra_exit as
deprecated"), both cra_{init,exit} are deprecated.
Switch hash from the deprecated cra_init/cra_exit fields on crypto_alg
to the preferred init_tfm/exit_tfm fields on ahash_alg.
Signed-off-by: Paul Louvel <paul.louvel@xxxxxxxxxxx>
---
drivers/crypto/talitos/talitos-hash.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/drivers/crypto/talitos/talitos-hash.c b/drivers/crypto/talitos/talitos-hash.c
index 3793b6fd5b75..f7f6f01cfddf 100644
--- a/drivers/crypto/talitos/talitos-hash.c
+++ b/drivers/crypto/talitos/talitos-hash.c
@@ -531,22 +531,26 @@ static int ahash_setkey(struct crypto_ahash *tfm, const u8 *key,
return 0;
}
-static int talitos_cra_init_ahash(struct crypto_tfm *tfm)
+static int talitos_cra_init_ahash(struct crypto_ahash *tfm)
{
- struct crypto_alg *alg = tfm->__crt_alg;
+ struct ahash_alg *alg = crypto_ahash_alg(tfm);
struct talitos_crypto_alg *talitos_alg;
- struct talitos_ctx *ctx = crypto_tfm_ctx(tfm);
+ struct talitos_ctx *ctx = crypto_ahash_ctx(tfm);
- talitos_alg = container_of(__crypto_ahash_alg(alg),
+ talitos_alg = container_of(alg,
struct talitos_crypto_alg,
algt.alg.hash);
ctx->keylen = 0;
- sizeof(struct talitos_ahash_req_ctx));
return talitos_init_common(ctx, talitos_alg);
}
+static void talitos_cra_exit_ahash(struct crypto_ahash *tfm)
+{
+ talitos_cra_exit(crypto_ahash_tfm(tfm));
+}
+
static struct talitos_alg_template hash_driver_algs[] = {
{ .type = CRYPTO_ALG_TYPE_AHASH,
.alg.hash = {
@@ -842,8 +846,8 @@ int talitos_register_hash(struct device *dev)
ahash_alg = &hash_driver_algs[i].alg.hash;
alg = &ahash_alg->halg.base;
- alg->cra_init = talitos_cra_init_ahash;
- alg->cra_exit = talitos_cra_exit;
+ ahash_alg->init_tfm = talitos_cra_init_ahash;
+ ahash_alg->exit_tfm = talitos_cra_exit_ahash;
ahash_alg->init = ahash_init;
ahash_alg->update = ahash_update;
ahash_alg->final = ahash_final;
--
2.54.0