Re: [PATCH 2/3] crypto: cavium: Remove the individual encrypt/decrypt function for each algorithm

From: Herbert Xu
Date: Mon Apr 24 2017 - 06:40:34 EST


On Fri, Apr 21, 2017 at 11:16:05AM +0000, George Cherian wrote:
>
> -int cvm_aes_encrypt_cbc(struct ablkcipher_request *req)
> +static inline u32 cvm_cipher_type(const char *name)
> {
> - return cvm_enc_dec(req, true, AES_CBC);
> -}
>
> -int cvm_aes_decrypt_cbc(struct ablkcipher_request *req)
> -{
> - return cvm_enc_dec(req, false, AES_CBC);
> + const struct cvm_cipher *cipher = cvm_cipher_table;
> +
> + while (cipher->name) {
> + if (!strcmp(cipher->name, name))
> + break;
> + cipher++;
> + }
> +
> + return cipher->value;
> }

That's rather unwieldy. It's usually easier to embed the cipher
type into the algo structure and then get to it via the alg object.

Cheers,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt