crypto: atmel - Use unregister_{aeads,ahashes,skciphers}
Subsystems (2)
PATCH 1/1 crypto: atmel - Use unregister_{aeads,ahashes,skciphers}
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.
--- drivers/crypto/atmel-aes.c | 17 ++++++----------- drivers/crypto/atmel-sha.c | 27 ++++++++++----------------- drivers/crypto/atmel-tdes.c | 25 ++++++------------------- 3 files changed, 22 insertions(+), 47 deletions(-)
drivers/crypto/atmel-aes.c +6 -11
@@ -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 @@ static int atmel_aes_register_algs(struct atmel_aes_dev *dd) 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; }
drivers/crypto/atmel-sha.c +10 -17
@@ -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; }
drivers/crypto/atmel-tdes.c +6 -19
@@ -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);
Signature · 2 lines
Thorsten Blum <[email protected]> GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
Herbert Xu
maintainerQuoted 7 lines · Thorsten Blum
Replace multiple for loops with calls to
crypto_unregister_aeads(),crypto_unregister_ahashes(), andcrypto_unregister_skciphers().Remove the definition of
atmel_tdes_unregister_algs()because it is equivalent to callingcrypto_unregister_skciphers()directly, and the function parameter 'structatmel_tdes_dev*' is unused anyway.
Quoted 6 lines
Signed-off-by Thorsten Blum <[email protected]>--- drivers/crypto/atmel-aes.c | 17 ++++++----------- drivers/crypto/atmel-sha.c | 27 ++++++++++----------------- drivers/crypto/atmel-tdes.c | 25 ++++++------------------- 3 files changed, 22 insertions(+), 47 deletions(-)
Patch applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt