crypto: whirlpool - use crypto_[un]register_shashes
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Wed, 11 Jul 2012 11:20:41 +0000 (14:20 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 1 Aug 2012 09:47:27 +0000 (17:47 +0800)
Combine all shash algs to be registered and use new crypto_[un]register_shashes
functions. This simplifies init/exit code.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/wp512.c

index 71719a2be25afa5ca341bd65306ec976b52d42b2..180f1d6e03f48fc20ef787061d8866e6af429c68 100644 (file)
@@ -1119,7 +1119,7 @@ static int wp256_final(struct shash_desc *desc, u8 *out)
        return 0;
 }
 
-static struct shash_alg wp512 = {
+static struct shash_alg wp_algs[3] = { {
        .digestsize     =       WP512_DIGEST_SIZE,
        .init           =       wp512_init,
        .update         =       wp512_update,
@@ -1131,9 +1131,7 @@ static struct shash_alg wp512 = {
                .cra_blocksize  =       WP512_BLOCK_SIZE,
                .cra_module     =       THIS_MODULE,
        }
-};
-
-static struct shash_alg wp384 = {
+}, {
        .digestsize     =       WP384_DIGEST_SIZE,
        .init           =       wp512_init,
        .update         =       wp512_update,
@@ -1145,9 +1143,7 @@ static struct shash_alg wp384 = {
                .cra_blocksize  =       WP512_BLOCK_SIZE,
                .cra_module     =       THIS_MODULE,
        }
-};
-
-static struct shash_alg wp256 = {
+}, {
        .digestsize     =       WP256_DIGEST_SIZE,
        .init           =       wp512_init,
        .update         =       wp512_update,
@@ -1159,39 +1155,16 @@ static struct shash_alg wp256 = {
                .cra_blocksize  =       WP512_BLOCK_SIZE,
                .cra_module     =       THIS_MODULE,
        }
-};
+} };
 
 static int __init wp512_mod_init(void)
 {
-       int ret = 0;
-
-       ret = crypto_register_shash(&wp512);
-
-       if (ret < 0)
-               goto out;
-
-       ret = crypto_register_shash(&wp384);
-       if (ret < 0)
-       {
-               crypto_unregister_shash(&wp512);
-               goto out;
-       }
-
-       ret = crypto_register_shash(&wp256);
-       if (ret < 0)
-       {
-               crypto_unregister_shash(&wp512);
-               crypto_unregister_shash(&wp384);
-       }
-out:
-       return ret;
+       return crypto_register_shashes(wp_algs, ARRAY_SIZE(wp_algs));
 }
 
 static void __exit wp512_mod_fini(void)
 {
-       crypto_unregister_shash(&wp512);
-       crypto_unregister_shash(&wp384);
-       crypto_unregister_shash(&wp256);
+       crypto_unregister_shashes(wp_algs, ARRAY_SIZE(wp_algs));
 }
 
 MODULE_ALIAS("wp384");