]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - crypto/sha256_generic.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[can-eth-gw-linux.git] / crypto / sha256_generic.c
index c48459ebf05b4dc157c90190c29770c70bf64095..c3ed4ec924e1005dbefac4d93dc3f9eae3f54f5b 100644 (file)
@@ -336,7 +336,7 @@ static int sha256_import(struct shash_desc *desc, const void *in)
        return 0;
 }
 
-static struct shash_alg sha256 = {
+static struct shash_alg sha256_algs[2] = { {
        .digestsize     =       SHA256_DIGEST_SIZE,
        .init           =       sha256_init,
        .update         =       sha256_update,
@@ -352,9 +352,7 @@ static struct shash_alg sha256 = {
                .cra_blocksize  =       SHA256_BLOCK_SIZE,
                .cra_module     =       THIS_MODULE,
        }
-};
-
-static struct shash_alg sha224 = {
+}, {
        .digestsize     =       SHA224_DIGEST_SIZE,
        .init           =       sha224_init,
        .update         =       sha256_update,
@@ -367,29 +365,16 @@ static struct shash_alg sha224 = {
                .cra_blocksize  =       SHA224_BLOCK_SIZE,
                .cra_module     =       THIS_MODULE,
        }
-};
+} };
 
 static int __init sha256_generic_mod_init(void)
 {
-       int ret = 0;
-
-       ret = crypto_register_shash(&sha224);
-
-       if (ret < 0)
-               return ret;
-
-       ret = crypto_register_shash(&sha256);
-
-       if (ret < 0)
-               crypto_unregister_shash(&sha224);
-
-       return ret;
+       return crypto_register_shashes(sha256_algs, ARRAY_SIZE(sha256_algs));
 }
 
 static void __exit sha256_generic_mod_fini(void)
 {
-       crypto_unregister_shash(&sha224);
-       crypto_unregister_shash(&sha256);
+       crypto_unregister_shashes(sha256_algs, ARRAY_SIZE(sha256_algs));
 }
 
 module_init(sha256_generic_mod_init);