mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-13 20:15:20 -05:00
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. Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
committed by
Herbert Xu
parent
3cd3059af1
commit
2ffc1ef4e8
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user