crypto: rockchip - rewrite type
Instead of using a custom type for classify algorithms, let's just use already defined ones. And let's made a bit more verbose about what is registered. Reviewed-by: John Keeping <john@metanate.com> Signed-off-by: Corentin Labbe <clabbe@baylibre.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
57d67c6e82
commit
6d55c4a206
@ -102,12 +102,22 @@ static int rk_crypto_register(struct rk_crypto_info *crypto_info)
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(rk_cipher_algs); i++) {
|
||||
rk_cipher_algs[i]->dev = crypto_info;
|
||||
if (rk_cipher_algs[i]->type == ALG_TYPE_CIPHER)
|
||||
err = crypto_register_skcipher(
|
||||
&rk_cipher_algs[i]->alg.skcipher);
|
||||
else
|
||||
err = crypto_register_ahash(
|
||||
&rk_cipher_algs[i]->alg.hash);
|
||||
switch (rk_cipher_algs[i]->type) {
|
||||
case CRYPTO_ALG_TYPE_SKCIPHER:
|
||||
dev_info(crypto_info->dev, "Register %s as %s\n",
|
||||
rk_cipher_algs[i]->alg.skcipher.base.cra_name,
|
||||
rk_cipher_algs[i]->alg.skcipher.base.cra_driver_name);
|
||||
err = crypto_register_skcipher(&rk_cipher_algs[i]->alg.skcipher);
|
||||
break;
|
||||
case CRYPTO_ALG_TYPE_AHASH:
|
||||
dev_info(crypto_info->dev, "Register %s as %s\n",
|
||||
rk_cipher_algs[i]->alg.hash.halg.base.cra_name,
|
||||
rk_cipher_algs[i]->alg.hash.halg.base.cra_driver_name);
|
||||
err = crypto_register_ahash(&rk_cipher_algs[i]->alg.hash);
|
||||
break;
|
||||
default:
|
||||
dev_err(crypto_info->dev, "unknown algorithm\n");
|
||||
}
|
||||
if (err)
|
||||
goto err_cipher_algs;
|
||||
}
|
||||
@ -115,7 +125,7 @@ static int rk_crypto_register(struct rk_crypto_info *crypto_info)
|
||||
|
||||
err_cipher_algs:
|
||||
for (k = 0; k < i; k++) {
|
||||
if (rk_cipher_algs[i]->type == ALG_TYPE_CIPHER)
|
||||
if (rk_cipher_algs[i]->type == CRYPTO_ALG_TYPE_SKCIPHER)
|
||||
crypto_unregister_skcipher(&rk_cipher_algs[k]->alg.skcipher);
|
||||
else
|
||||
crypto_unregister_ahash(&rk_cipher_algs[i]->alg.hash);
|
||||
@ -128,7 +138,7 @@ static void rk_crypto_unregister(void)
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(rk_cipher_algs); i++) {
|
||||
if (rk_cipher_algs[i]->type == ALG_TYPE_CIPHER)
|
||||
if (rk_cipher_algs[i]->type == CRYPTO_ALG_TYPE_SKCIPHER)
|
||||
crypto_unregister_skcipher(&rk_cipher_algs[i]->alg.skcipher);
|
||||
else
|
||||
crypto_unregister_ahash(&rk_cipher_algs[i]->alg.hash);
|
||||
|
@ -232,18 +232,13 @@ struct rk_cipher_rctx {
|
||||
struct skcipher_request fallback_req; // keep at the end
|
||||
};
|
||||
|
||||
enum alg_type {
|
||||
ALG_TYPE_HASH,
|
||||
ALG_TYPE_CIPHER,
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp {
|
||||
u32 type;
|
||||
struct rk_crypto_info *dev;
|
||||
union {
|
||||
struct skcipher_alg skcipher;
|
||||
struct ahash_alg hash;
|
||||
} alg;
|
||||
enum alg_type type;
|
||||
};
|
||||
|
||||
extern struct rk_crypto_tmp rk_ecb_aes_alg;
|
||||
|
@ -352,7 +352,7 @@ static void rk_cra_hash_exit(struct crypto_tfm *tfm)
|
||||
}
|
||||
|
||||
struct rk_crypto_tmp rk_ahash_sha1 = {
|
||||
.type = ALG_TYPE_HASH,
|
||||
.type = CRYPTO_ALG_TYPE_AHASH,
|
||||
.alg.hash = {
|
||||
.init = rk_ahash_init,
|
||||
.update = rk_ahash_update,
|
||||
@ -382,7 +382,7 @@ struct rk_crypto_tmp rk_ahash_sha1 = {
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp rk_ahash_sha256 = {
|
||||
.type = ALG_TYPE_HASH,
|
||||
.type = CRYPTO_ALG_TYPE_AHASH,
|
||||
.alg.hash = {
|
||||
.init = rk_ahash_init,
|
||||
.update = rk_ahash_update,
|
||||
@ -412,7 +412,7 @@ struct rk_crypto_tmp rk_ahash_sha256 = {
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp rk_ahash_md5 = {
|
||||
.type = ALG_TYPE_HASH,
|
||||
.type = CRYPTO_ALG_TYPE_AHASH,
|
||||
.alg.hash = {
|
||||
.init = rk_ahash_init,
|
||||
.update = rk_ahash_update,
|
||||
|
@ -468,7 +468,7 @@ static void rk_ablk_exit_tfm(struct crypto_skcipher *tfm)
|
||||
}
|
||||
|
||||
struct rk_crypto_tmp rk_ecb_aes_alg = {
|
||||
.type = ALG_TYPE_CIPHER,
|
||||
.type = CRYPTO_ALG_TYPE_SKCIPHER,
|
||||
.alg.skcipher = {
|
||||
.base.cra_name = "ecb(aes)",
|
||||
.base.cra_driver_name = "ecb-aes-rk",
|
||||
@ -490,7 +490,7 @@ struct rk_crypto_tmp rk_ecb_aes_alg = {
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp rk_cbc_aes_alg = {
|
||||
.type = ALG_TYPE_CIPHER,
|
||||
.type = CRYPTO_ALG_TYPE_SKCIPHER,
|
||||
.alg.skcipher = {
|
||||
.base.cra_name = "cbc(aes)",
|
||||
.base.cra_driver_name = "cbc-aes-rk",
|
||||
@ -513,7 +513,7 @@ struct rk_crypto_tmp rk_cbc_aes_alg = {
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp rk_ecb_des_alg = {
|
||||
.type = ALG_TYPE_CIPHER,
|
||||
.type = CRYPTO_ALG_TYPE_SKCIPHER,
|
||||
.alg.skcipher = {
|
||||
.base.cra_name = "ecb(des)",
|
||||
.base.cra_driver_name = "ecb-des-rk",
|
||||
@ -535,7 +535,7 @@ struct rk_crypto_tmp rk_ecb_des_alg = {
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp rk_cbc_des_alg = {
|
||||
.type = ALG_TYPE_CIPHER,
|
||||
.type = CRYPTO_ALG_TYPE_SKCIPHER,
|
||||
.alg.skcipher = {
|
||||
.base.cra_name = "cbc(des)",
|
||||
.base.cra_driver_name = "cbc-des-rk",
|
||||
@ -558,7 +558,7 @@ struct rk_crypto_tmp rk_cbc_des_alg = {
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp rk_ecb_des3_ede_alg = {
|
||||
.type = ALG_TYPE_CIPHER,
|
||||
.type = CRYPTO_ALG_TYPE_SKCIPHER,
|
||||
.alg.skcipher = {
|
||||
.base.cra_name = "ecb(des3_ede)",
|
||||
.base.cra_driver_name = "ecb-des3-ede-rk",
|
||||
@ -580,7 +580,7 @@ struct rk_crypto_tmp rk_ecb_des3_ede_alg = {
|
||||
};
|
||||
|
||||
struct rk_crypto_tmp rk_cbc_des3_ede_alg = {
|
||||
.type = ALG_TYPE_CIPHER,
|
||||
.type = CRYPTO_ALG_TYPE_SKCIPHER,
|
||||
.alg.skcipher = {
|
||||
.base.cra_name = "cbc(des3_ede)",
|
||||
.base.cra_driver_name = "cbc-des3-ede-rk",
|
||||
|
Loading…
x
Reference in New Issue
Block a user