Re: [PATCH v3 1/1] crypto: engine: permit to enqueue ashash_request

From: LABBE Corentin
Date: Fri Jun 10 2016 - 10:43:19 EST


On Tue, Jun 07, 2016 at 06:31:39PM +0800, Herbert Xu wrote:
> On Thu, Jun 02, 2016 at 03:13:32PM +0200, LABBE Corentin wrote:
> >
> > static int omap_aes_prepare_req(struct crypto_engine *engine,
> > - struct ablkcipher_request *req)
> > + struct crypto_async_request *areq)
> > {
> > + struct ablkcipher_request *req = ablkcipher_request_cast(areq);
>
> You're still doing casting in the driver.
>
> I want this to be moved into the crypto engine API. There should
> be separate function pointers for each request type.
>
> Thanks,
> --

So I need to split do_one_request to cipher_one_request/hash_one_request.
Same with prepare_request to prepare_hash_request/prepare_cipher_request.
With the choice of each function done in crypto_engine.c.

Since this modification need to add <crypto/hash.h> to algapi.h, I think it is necessary to move all crypto engine stuff to crypto/engine.h
Do you agree ?

Regards