]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: atmel - Use unregister_{aeads,ahashes,skciphers}
authorThorsten Blum <thorsten.blum@linux.dev>
Mon, 26 Jan 2026 17:47:03 +0000 (18:47 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 6 Feb 2026 10:52:22 +0000 (18:52 +0800)
Replace multiple for loops with calls to crypto_unregister_aeads(),
crypto_unregister_ahashes(), and crypto_unregister_skciphers().

Remove the definition of atmel_tdes_unregister_algs() because it is
equivalent to calling crypto_unregister_skciphers() directly, and the
function parameter 'struct atmel_tdes_dev *' is unused anyway.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/atmel-aes.c
drivers/crypto/atmel-sha.c
drivers/crypto/atmel-tdes.c

index 3a2684208dda9ee45d71b4bc2958be293a4fb6fe..bc0c40f10944ca90f473682e4e9da36de77f3fbd 100644 (file)
@@ -2201,12 +2201,10 @@ static irqreturn_t atmel_aes_irq(int irq, void *dev_id)
 
 static void atmel_aes_unregister_algs(struct atmel_aes_dev *dd)
 {
-       int i;
-
 #if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC)
        if (dd->caps.has_authenc)
-               for (i = 0; i < ARRAY_SIZE(aes_authenc_algs); i++)
-                       crypto_unregister_aead(&aes_authenc_algs[i]);
+               crypto_unregister_aeads(aes_authenc_algs,
+                                       ARRAY_SIZE(aes_authenc_algs));
 #endif
 
        if (dd->caps.has_xts)
@@ -2215,8 +2213,7 @@ static void atmel_aes_unregister_algs(struct atmel_aes_dev *dd)
        if (dd->caps.has_gcm)
                crypto_unregister_aead(&aes_gcm_alg);
 
-       for (i = 0; i < ARRAY_SIZE(aes_algs); i++)
-               crypto_unregister_skcipher(&aes_algs[i]);
+       crypto_unregister_skciphers(aes_algs, ARRAY_SIZE(aes_algs));
 }
 
 static void atmel_aes_crypto_alg_init(struct crypto_alg *alg)
@@ -2229,7 +2226,7 @@ static void atmel_aes_crypto_alg_init(struct crypto_alg *alg)
 
 static int atmel_aes_register_algs(struct atmel_aes_dev *dd)
 {
-       int err, i, j;
+       int err, i;
 
        for (i = 0; i < ARRAY_SIZE(aes_algs); i++) {
                atmel_aes_crypto_alg_init(&aes_algs[i].base);
@@ -2272,8 +2269,7 @@ static int atmel_aes_register_algs(struct atmel_aes_dev *dd)
 #if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC)
        /* i = ARRAY_SIZE(aes_authenc_algs); */
 err_aes_authenc_alg:
-       for (j = 0; j < i; j++)
-               crypto_unregister_aead(&aes_authenc_algs[j]);
+       crypto_unregister_aeads(aes_authenc_algs, i);
        crypto_unregister_skcipher(&aes_xts_alg);
 #endif
 err_aes_xts_alg:
@@ -2281,8 +2277,7 @@ err_aes_xts_alg:
 err_aes_gcm_alg:
        i = ARRAY_SIZE(aes_algs);
 err_aes_algs:
-       for (j = 0; j < i; j++)
-               crypto_unregister_skcipher(&aes_algs[j]);
+       crypto_unregister_skciphers(aes_algs, i);
 
        return err;
 }
index 3d7573c7bd1ca81274381917a7e7b7285a859905..b02a71061708ce53a3acca8926d46455e9b966b1 100644 (file)
@@ -2418,27 +2418,23 @@ EXPORT_SYMBOL_GPL(atmel_sha_authenc_abort);
 
 static void atmel_sha_unregister_algs(struct atmel_sha_dev *dd)
 {
-       int i;
-
        if (dd->caps.has_hmac)
-               for (i = 0; i < ARRAY_SIZE(sha_hmac_algs); i++)
-                       crypto_unregister_ahash(&sha_hmac_algs[i]);
+               crypto_unregister_ahashes(sha_hmac_algs,
+                                         ARRAY_SIZE(sha_hmac_algs));
 
-       for (i = 0; i < ARRAY_SIZE(sha_1_256_algs); i++)
-               crypto_unregister_ahash(&sha_1_256_algs[i]);
+       crypto_unregister_ahashes(sha_1_256_algs, ARRAY_SIZE(sha_1_256_algs));
 
        if (dd->caps.has_sha224)
                crypto_unregister_ahash(&sha_224_alg);
 
-       if (dd->caps.has_sha_384_512) {
-               for (i = 0; i < ARRAY_SIZE(sha_384_512_algs); i++)
-                       crypto_unregister_ahash(&sha_384_512_algs[i]);
-       }
+       if (dd->caps.has_sha_384_512)
+               crypto_unregister_ahashes(sha_384_512_algs,
+                                         ARRAY_SIZE(sha_384_512_algs));
 }
 
 static int atmel_sha_register_algs(struct atmel_sha_dev *dd)
 {
-       int err, i, j;
+       int err, i;
 
        for (i = 0; i < ARRAY_SIZE(sha_1_256_algs); i++) {
                atmel_sha_alg_init(&sha_1_256_algs[i]);
@@ -2480,18 +2476,15 @@ static int atmel_sha_register_algs(struct atmel_sha_dev *dd)
 
        /*i = ARRAY_SIZE(sha_hmac_algs);*/
 err_sha_hmac_algs:
-       for (j = 0; j < i; j++)
-               crypto_unregister_ahash(&sha_hmac_algs[j]);
+       crypto_unregister_ahashes(sha_hmac_algs, i);
        i = ARRAY_SIZE(sha_384_512_algs);
 err_sha_384_512_algs:
-       for (j = 0; j < i; j++)
-               crypto_unregister_ahash(&sha_384_512_algs[j]);
+       crypto_unregister_ahashes(sha_384_512_algs, i);
        crypto_unregister_ahash(&sha_224_alg);
 err_sha_224_algs:
        i = ARRAY_SIZE(sha_1_256_algs);
 err_sha_1_256_algs:
-       for (j = 0; j < i; j++)
-               crypto_unregister_ahash(&sha_1_256_algs[j]);
+       crypto_unregister_ahashes(sha_1_256_algs, i);
 
        return err;
 }
index 3b2a92029b16f92516a65e09733606e4a6facdec..278c0df3c92f26abdb88ccf7fea7de8beb350f90 100644 (file)
@@ -897,38 +897,25 @@ static irqreturn_t atmel_tdes_irq(int irq, void *dev_id)
        return IRQ_NONE;
 }
 
-static void atmel_tdes_unregister_algs(struct atmel_tdes_dev *dd)
-{
-       int i;
-
-       for (i = 0; i < ARRAY_SIZE(tdes_algs); i++)
-               crypto_unregister_skcipher(&tdes_algs[i]);
-}
-
 static int atmel_tdes_register_algs(struct atmel_tdes_dev *dd)
 {
-       int err, i, j;
+       int err, i;
 
        for (i = 0; i < ARRAY_SIZE(tdes_algs); i++) {
                atmel_tdes_skcipher_alg_init(&tdes_algs[i]);
 
                err = crypto_register_skcipher(&tdes_algs[i]);
-               if (err)
-                       goto err_tdes_algs;
+               if (err) {
+                       crypto_unregister_skciphers(tdes_algs, i);
+                       return err;
+               }
        }
 
        return 0;
-
-err_tdes_algs:
-       for (j = 0; j < i; j++)
-               crypto_unregister_skcipher(&tdes_algs[j]);
-
-       return err;
 }
 
 static void atmel_tdes_get_cap(struct atmel_tdes_dev *dd)
 {
-
        dd->caps.has_dma = 0;
 
        /* keep only major version number */
@@ -1061,7 +1048,7 @@ static void atmel_tdes_remove(struct platform_device *pdev)
        list_del(&tdes_dd->list);
        spin_unlock(&atmel_tdes.lock);
 
-       atmel_tdes_unregister_algs(tdes_dd);
+       crypto_unregister_skciphers(tdes_algs, ARRAY_SIZE(tdes_algs));
 
        tasklet_kill(&tdes_dd->done_task);
        tasklet_kill(&tdes_dd->queue_task);