crypto: rockchip - rewrite type
authorCorentin Labbe <clabbe@baylibre.com>
Tue, 27 Sep 2022 07:54:49 +0000 (07:54 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 28 Oct 2022 04:36:33 +0000 (12:36 +0800)
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>
drivers/crypto/rockchip/rk3288_crypto.c
drivers/crypto/rockchip/rk3288_crypto.h
drivers/crypto/rockchip/rk3288_crypto_ahash.c
drivers/crypto/rockchip/rk3288_crypto_skcipher.c

index 1afb65e..8f9664a 100644 (file)
@@ -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);
index 65ed645..d924ea1 100644 (file)
@@ -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;
index edd40e1..d08e243 100644 (file)
@@ -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,
index 67a7e05..1ed297f 100644 (file)
@@ -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",