From: "Herbert Xu" <herbert@gondor.apana.org.au>
To: Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
Gaurav Jain <gaurav.jain@nxp.com>
Subject: [v2 PATCH 10/36] crypto: stm32 - Remove prepare/unprepare request
Date: Sun, 13 Aug 2023 14:54:26 +0800 [thread overview]
Message-ID: <E1qV4zZ-002bkr-Ut@formenos.hmeau.com> (raw)
In-Reply-To: ZNh94a7YYnvx0l8C@gondor.apana.org.au
The callbacks for prepare and unprepare request in crypto_engine
is superfluous. They can be done directly from do_one_request.
Move the code into do_one_request and remove the unused callbacks.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---
drivers/crypto/stm32/stm32-cryp.c | 37 +++++++------------------------------
1 file changed, 7 insertions(+), 30 deletions(-)
diff --git a/drivers/crypto/stm32/stm32-cryp.c b/drivers/crypto/stm32/stm32-cryp.c
index 6b8d731092a4..07e32b8dbe29 100644
--- a/drivers/crypto/stm32/stm32-cryp.c
+++ b/drivers/crypto/stm32/stm32-cryp.c
@@ -825,8 +825,6 @@ static int stm32_cryp_cpu_start(struct stm32_cryp *cryp)
}
static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, void *areq);
-static int stm32_cryp_prepare_cipher_req(struct crypto_engine *engine,
- void *areq);
static int stm32_cryp_init_tfm(struct crypto_skcipher *tfm)
{
@@ -835,14 +833,10 @@ static int stm32_cryp_init_tfm(struct crypto_skcipher *tfm)
crypto_skcipher_set_reqsize(tfm, sizeof(struct stm32_cryp_reqctx));
ctx->enginectx.op.do_one_request = stm32_cryp_cipher_one_req;
- ctx->enginectx.op.prepare_request = stm32_cryp_prepare_cipher_req;
- ctx->enginectx.op.unprepare_request = NULL;
return 0;
}
static int stm32_cryp_aead_one_req(struct crypto_engine *engine, void *areq);
-static int stm32_cryp_prepare_aead_req(struct crypto_engine *engine,
- void *areq);
static int stm32_cryp_aes_aead_init(struct crypto_aead *tfm)
{
@@ -851,8 +845,6 @@ static int stm32_cryp_aes_aead_init(struct crypto_aead *tfm)
tfm->reqsize = sizeof(struct stm32_cryp_reqctx);
ctx->enginectx.op.do_one_request = stm32_cryp_aead_one_req;
- ctx->enginectx.op.prepare_request = stm32_cryp_prepare_aead_req;
- ctx->enginectx.op.unprepare_request = NULL;
return 0;
}
@@ -1180,9 +1172,6 @@ static int stm32_cryp_prepare_req(struct skcipher_request *req,
cryp = ctx->cryp;
- if (!cryp)
- return -ENODEV;
-
rctx = req ? skcipher_request_ctx(req) : aead_request_ctx(areq);
rctx->mode &= FLG_MODE_MASK;
@@ -1248,16 +1237,6 @@ static int stm32_cryp_prepare_req(struct skcipher_request *req,
return ret;
}
-static int stm32_cryp_prepare_cipher_req(struct crypto_engine *engine,
- void *areq)
-{
- struct skcipher_request *req = container_of(areq,
- struct skcipher_request,
- base);
-
- return stm32_cryp_prepare_req(req, NULL);
-}
-
static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, void *areq)
{
struct skcipher_request *req = container_of(areq,
@@ -1270,15 +1249,8 @@ static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, void *areq)
if (!cryp)
return -ENODEV;
- return stm32_cryp_cpu_start(cryp);
-}
-
-static int stm32_cryp_prepare_aead_req(struct crypto_engine *engine, void *areq)
-{
- struct aead_request *req = container_of(areq, struct aead_request,
- base);
-
- return stm32_cryp_prepare_req(NULL, req);
+ return stm32_cryp_prepare_req(req, NULL) ?:
+ stm32_cryp_cpu_start(cryp);
}
static int stm32_cryp_aead_one_req(struct crypto_engine *engine, void *areq)
@@ -1287,10 +1259,15 @@ static int stm32_cryp_aead_one_req(struct crypto_engine *engine, void *areq)
base);
struct stm32_cryp_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
struct stm32_cryp *cryp = ctx->cryp;
+ int err;
if (!cryp)
return -ENODEV;
+ err = stm32_cryp_prepare_req(NULL, req);
+ if (err)
+ return err;
+
if (unlikely(!cryp->payload_in && !cryp->header_in)) {
/* No input data to process: get tag and finish */
stm32_cryp_finish_req(cryp, 0);
next prev parent reply other threads:[~2023-08-13 6:54 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-11 9:27 [PATCH 0/36] Move crypto_engine callback into algorithm object Herbert Xu
2023-08-11 9:29 ` [PATCH 1/36] crypto: sun8i-ce - Remove prepare/unprepare request Herbert Xu
2023-08-11 9:29 ` [PATCH 2/36] crypto: sun8i-ss " Herbert Xu
2023-08-11 9:29 ` [PATCH 3/36] crypto: amlogic " Herbert Xu
2023-08-11 9:29 ` [PATCH 4/36] crypto: aspeed " Herbert Xu
2023-08-11 9:29 ` [PATCH 5/36] crypto: sl3516 " Herbert Xu
2023-08-11 9:29 ` [PATCH 6/36] crypto: keembay " Herbert Xu
2023-08-11 9:29 ` [PATCH 7/36] crypto: omap " Herbert Xu
2023-08-11 9:29 ` [PATCH 8/36] crypto: rk3288 " Herbert Xu
2023-08-11 9:29 ` [PATCH 9/36] crypto: jh1100 " Herbert Xu
2023-08-11 9:29 ` [PATCH 10/36] crypto: stm32 " Herbert Xu
2023-08-11 9:30 ` [PATCH 11/36] crypto: virtio " Herbert Xu
2023-08-11 9:30 ` [PATCH 12/36] crypto: zynqmp " Herbert Xu
2023-08-11 9:30 ` [PATCH 13/36] crypto: engine " Herbert Xu
2023-08-11 9:30 ` [PATCH 14/36] crypto: jh7110 - Include crypto/hash.h in header file Herbert Xu
2023-08-11 9:30 ` [PATCH 15/36] crypto: engine - Move crypto inclusions out of " Herbert Xu
2023-08-11 9:30 ` [PATCH 16/36] crypto: jh7110 - Include scatterwalk.h for struct scatter_walk Herbert Xu
2023-08-11 9:30 ` [PATCH 17/36] crypto: engine - Create internal/engine.h Herbert Xu
2023-08-11 9:30 ` [PATCH 18/36] crypto: omap - Include internal/engine.h Herbert Xu
2023-08-11 9:30 ` [PATCH 19/36] crypto: caam " Herbert Xu
2023-08-11 9:30 ` [PATCH 20/36] crypto: engine - Move struct crypto_engine into internal/engine.h Herbert Xu
2023-08-11 9:30 ` [PATCH 21/36] crypto: engine - Move crypto_engine_ops from request into crypto_alg Herbert Xu
2023-08-11 9:30 ` [PATCH 22/36] crypto: sun8i-ce - Use new crypto_engine_op interface Herbert Xu
2023-08-12 11:29 ` kernel test robot
2023-08-11 9:30 ` [PATCH 23/36] crypto: sun8i-ss " Herbert Xu
2023-08-11 9:30 ` [PATCH 24/36] crypto: amlogic " Herbert Xu
2023-08-11 9:30 ` [PATCH 25/36] crypto: aspeed " Herbert Xu
2023-08-11 9:30 ` [PATCH 26/36] crypto: aspeed - Remove non-standard sha512 algorithms Herbert Xu
2023-08-11 9:30 ` [PATCH 27/36] crypto: caam - Use new crypto_engine_op interface Herbert Xu
2023-08-11 9:30 ` [PATCH 28/36] crypto: sl3516 " Herbert Xu
2023-08-11 9:30 ` [PATCH 29/36] crypto: keembay " Herbert Xu
2023-08-11 9:30 ` [PATCH 30/36] crypto: omap " Herbert Xu
2023-08-11 9:30 ` [PATCH 31/36] crypto: rk3288 " Herbert Xu
2023-08-11 9:30 ` [PATCH 32/36] crypto: jh7110 " Herbert Xu
2023-08-11 9:30 ` [PATCH 33/36] crypto: stm32 " Herbert Xu
2023-08-11 9:30 ` [PATCH 34/36] crypto: virtio " Herbert Xu
2023-08-11 9:30 ` [PATCH 35/36] crypto: zynqmp " Herbert Xu
2023-08-11 9:30 ` [PATCH 36/36] crypto: engine - Remove crypto_engine_ctx Herbert Xu
2023-08-13 6:53 ` [v2 PATCH 0/36] Move crypto_engine callback into algorithm object Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 1/36] crypto: sun8i-ce - Remove prepare/unprepare request Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 2/36] crypto: sun8i-ss " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 3/36] crypto: amlogic " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 4/36] crypto: aspeed " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 5/36] crypto: sl3516 " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 6/36] crypto: keembay " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 7/36] crypto: omap " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 8/36] crypto: rk3288 " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 9/36] crypto: jh1100 " Herbert Xu
2023-08-13 6:54 ` Herbert Xu [this message]
2023-08-13 6:54 ` [v2 PATCH 11/36] crypto: virtio " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 12/36] crypto: zynqmp " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 13/36] crypto: engine " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 14/36] crypto: jh7110 - Include crypto/hash.h in header file Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 15/36] crypto: engine - Move crypto inclusions out of " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 16/36] crypto: jh7110 - Include scatterwalk.h for struct scatter_walk Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 17/36] crypto: engine - Create internal/engine.h Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 18/36] crypto: omap - Include internal/engine.h Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 19/36] crypto: caam " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 20/36] crypto: engine - Move struct crypto_engine into internal/engine.h Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 21/36] crypto: engine - Move crypto_engine_ops from request into crypto_alg Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 22/36] crypto: sun8i-ce - Use new crypto_engine_op interface Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 23/36] crypto: sun8i-ss " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 24/36] crypto: amlogic " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 25/36] crypto: aspeed " Herbert Xu
2023-08-13 6:54 ` [v2 PATCH 26/36] crypto: aspeed - Remove non-standard sha512 algorithms Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 27/36] crypto: caam - Use new crypto_engine_op interface Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 28/36] crypto: sl3516 " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 29/36] crypto: keembay " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 30/36] crypto: omap " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 31/36] crypto: rk3288 " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 32/36] crypto: jh7110 " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 33/36] crypto: stm32 " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 34/36] crypto: virtio " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 35/36] crypto: zynqmp " Herbert Xu
2023-08-13 6:55 ` [v2 PATCH 36/36] crypto: engine - Remove crypto_engine_ctx Herbert Xu
2023-08-22 9:47 ` [EXT] [v2 PATCH 0/36] Move crypto_engine callback into algorithm object Gaurav Jain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1qV4zZ-002bkr-Ut@formenos.hmeau.com \
--to=herbert@gondor.apana.org.au \
--cc=gaurav.jain@nxp.com \
--cc=linux-crypto@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.