From: Fabien DESSENNE <fabien.dessenne@st.com>
To: Corentin Labbe <clabbe.montjoie@gmail.com>,
Alexandre TORGUE <alexandre.torgue@st.com>,
"arei.gonglei@huawei.com" <arei.gonglei@huawei.com>,
"corbet@lwn.net" <corbet@lwn.net>,
"davem@davemloft.net" <davem@davemloft.net>,
"herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"mcoquelin.stm32@gmail.com" <mcoquelin.stm32@gmail.com>,
"mst@redhat.com" <mst@redhat.com>
Cc: Benjamin GAIGNARD <benjamin.gaignard@st.com>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 6/6] crypto: stm32-cryp: convert to the new crypto engine API
Date: Wed, 10 Jan 2018 14:25:56 +0000 [thread overview]
Message-ID: <ccffd847-3df7-d690-4102-5a10f6439f87@st.com> (raw)
In-Reply-To: <20180103201109.16077-7-clabbe.montjoie@gmail.com>
On 03/01/18 21:11, Corentin Labbe wrote:
> This patch convert the stm32-cryp driver to the new crypto engine API.
> Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
> ---
> drivers/crypto/stm32/stm32-cryp.c | 21 ++++++++++++++++-----
> 1 file changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/crypto/stm32/stm32-cryp.c b/drivers/crypto/stm32/stm32-cryp.c
> index cf1dddbeaa2c..99e0473ef247 100644
> --- a/drivers/crypto/stm32/stm32-cryp.c
> +++ b/drivers/crypto/stm32/stm32-cryp.c
> @@ -91,6 +91,7 @@
> #define _walked_out (cryp->out_walk.offset - cryp->out_sg->offset)
>
> struct stm32_cryp_ctx {
> + struct crypto_engine_reqctx enginectx;
> struct stm32_cryp *cryp;
> int keylen;
> u32 key[AES_KEYSIZE_256 / sizeof(u32)];
> @@ -494,10 +495,20 @@ static int stm32_cryp_cpu_start(struct stm32_cryp *cryp)
> return 0;
> }
>
> +static int stm32_cryp_cipher_one_req(struct crypto_engine *engine,
> + void *areq);
Merge these 2 lines in a single one
> +static int stm32_cryp_prepare_cipher_req(struct crypto_engine *engine,
> + void *areq);
> +
> static int stm32_cryp_cra_init(struct crypto_tfm *tfm)
> {
> + struct stm32_cryp_ctx *ctx = crypto_tfm_ctx(tfm);
> +
> tfm->crt_ablkcipher.reqsize = 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;
> }
>
> @@ -695,14 +706,17 @@ static int stm32_cryp_prepare_req(struct crypto_engine *engine,
> }
>
> static int stm32_cryp_prepare_cipher_req(struct crypto_engine *engine,
> - struct ablkcipher_request *req)
> + void *areq)
> {
> + struct ablkcipher_request *req = container_of(areq, struct ablkcipher_request, base);
> 80 characters (CHECKPATCH)
> +
> return stm32_cryp_prepare_req(engine, req);
> }
>
> static int stm32_cryp_cipher_one_req(struct crypto_engine *engine,
> - struct ablkcipher_request *req)
> + void *areq)
Merge these 2 lines in a single one
> {
> + struct ablkcipher_request *req = container_of(areq, struct ablkcipher_request, base);
> 80 characters (CHECKPATCH)
> struct stm32_cryp_ctx *ctx = crypto_ablkcipher_ctx(
> crypto_ablkcipher_reqtfm(req));
> struct stm32_cryp *cryp = ctx->cryp;
> @@ -1104,9 +1118,6 @@ static int stm32_cryp_probe(struct platform_device *pdev)
> goto err_engine1;
> }
>
> - cryp->engine->prepare_cipher_request = stm32_cryp_prepare_cipher_req;
> - cryp->engine->cipher_one_request = stm32_cryp_cipher_one_req;
> -
> ret = crypto_engine_start(cryp->engine);
> if (ret) {
> dev_err(dev, "Could not start crypto engine\n");
next prev parent reply other threads:[~2018-01-10 14:25 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-03 20:11 [PATCH 0/6] crypto: engine - Permit to enqueue all async requests Corentin Labbe
2018-01-03 20:11 ` [PATCH 1/6] Documentation: crypto: document crypto engine API Corentin Labbe
2018-01-10 14:13 ` Fabien DESSENNE
2018-01-10 19:14 ` Corentin Labbe
2018-01-03 20:11 ` [PATCH 2/6] crypto: engine - Permit to enqueue all async requests Corentin Labbe
2018-01-10 14:19 ` Fabien DESSENNE
2018-01-11 7:44 ` Fabien DESSENNE
2018-01-12 7:14 ` Herbert Xu
2018-01-03 20:11 ` [PATCH 3/6] crypto: omap: convert to new crypto engine API Corentin Labbe
2018-01-03 20:11 ` [PATCH 4/6] crypto: virtio: " Corentin Labbe
2018-01-03 20:11 ` [PATCH 5/6] crypto: stm32-hash: convert to the " Corentin Labbe
2018-01-10 14:24 ` Fabien DESSENNE
2018-01-11 7:44 ` Fabien DESSENNE
2018-01-03 20:11 ` [PATCH 6/6] crypto: stm32-cryp: " Corentin Labbe
2018-01-10 14:25 ` Fabien DESSENNE [this message]
2018-01-11 7:45 ` Fabien DESSENNE
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=ccffd847-3df7-d690-4102-5a10f6439f87@st.com \
--to=fabien.dessenne@st.com \
--cc=alexandre.torgue@st.com \
--cc=arei.gonglei@huawei.com \
--cc=benjamin.gaignard@st.com \
--cc=clabbe.montjoie@gmail.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=jasowang@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=mst@redhat.com \
--cc=virtualization@lists.linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox