]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
crypto: sun8i-ce - remove boilerplate in sun8i_ce_hash_digest()
authorOvidiu Panait <ovidiu.panait.oss@gmail.com>
Tue, 2 Sep 2025 13:21:27 +0000 (16:21 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 13 Sep 2025 04:11:05 +0000 (12:11 +0800)
Retrieve the dev pointer from tfm context to eliminate some boilerplate
code in sun8i_ce_hash_digest().

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Reviewed-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c

index b26f5427c1e061275c1240f1da3a362e16f947a9..61e8d968fdcc60cf00930210f7c8d6ba72066a31 100644 (file)
@@ -238,19 +238,15 @@ static bool sun8i_ce_hash_need_fallback(struct ahash_request *areq)
 int sun8i_ce_hash_digest(struct ahash_request *areq)
 {
        struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
-       struct ahash_alg *alg = __crypto_ahash_alg(tfm->base.__crt_alg);
+       struct sun8i_ce_hash_tfm_ctx *ctx = crypto_ahash_ctx(tfm);
        struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
-       struct sun8i_ce_alg_template *algt;
-       struct sun8i_ce_dev *ce;
+       struct sun8i_ce_dev *ce = ctx->ce;
        struct crypto_engine *engine;
        int e;
 
        if (sun8i_ce_hash_need_fallback(areq))
                return sun8i_ce_hash_digest_fb(areq);
 
-       algt = container_of(alg, struct sun8i_ce_alg_template, alg.hash.base);
-       ce = algt->ce;
-
        e = sun8i_ce_get_engine_number(ce);
        rctx->flow = e;
        engine = ce->chanlist[e].engine;