crypto: s5p-sss - use unregister_{ahashes,skciphers} in probe/remove
PATCH 1/1 crypto: s5p-sss - use unregister_{ahashes,skciphers} in probe/remove
Replace multiple for loops with calls to crypto_unregister_ahashes() and crypto_unregister_skciphers().
If crypto_register_skcipher() fails in s5p_aes_probe(), log the error directly instead of checking 'i < ARRAY_SIZE(algs)' later. Also drop now-unused local index variables. No functional changes.
--- drivers/crypto/s5p-sss.c | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-)
drivers/crypto/s5p-sss.c +10 -17
@@ -2131,7 +2131,7 @@ static struct skcipher_alg algs[] = {static int s5p_aes_probe (struct platform_device *pdev) {struct device *dev = &pdev->dev; -int i, j, err; +int i, err;const struct samsung_aes_variant *variant;struct s5p_aes_dev *pdata;struct resource *res;
@@ -2237,8 +2237,11 @@ static int s5p_aes_probe(struct platform_device *pdev)for (i =0 ; i <ARRAY_SIZE (algs); i++) { err =crypto_register_skcipher (&algs[i]); -if (err) +if (err) { +dev_err (dev,"can't register '%s': %d\n" , + algs[i].base.cra_name, err); goto err_algs; + } }if (pdata->use_hash) {
@@ -2265,20 +2268,12 @@ static int s5p_aes_probe(struct platform_device *pdev)return 0 ; err_hash: -for (j = hash_i -1 ; j >=0 ; j--) -crypto_unregister_ahash (&algs_sha1_md5_sha256[j]); - +crypto_unregister_ahashes (algs_sha1_md5_sha256, hash_i);tasklet_kill (&pdata->hash_tasklet); res->end -=0x300 ; err_algs: -if (i <ARRAY_SIZE (algs)) -dev_err (dev,"can't register '%s': %d\n" , algs[i].base.cra_name, - err); - -for (j =0 ; j < i; j++) -crypto_unregister_skcipher (&algs[j]); - +crypto_unregister_skciphers (algs, i);tasklet_kill (&pdata->tasklet); err_irq:
@@ -2294,15 +2289,13 @@ static int s5p_aes_probe(struct platform_device *pdev)static void s5p_aes_remove (struct platform_device *pdev) {struct s5p_aes_dev *pdata =platform_get_drvdata (pdev); -int i; -for (i =0 ; i <ARRAY_SIZE (algs); i++) -crypto_unregister_skcipher (&algs[i]); +crypto_unregister_skciphers (algs,ARRAY_SIZE (algs));tasklet_kill (&pdata->tasklet);if (pdata->use_hash) { -for (i =ARRAY_SIZE (algs_sha1_md5_sha256) -1 ; i >=0 ; i--) -crypto_unregister_ahash (&algs_sha1_md5_sha256[i]); +crypto_unregister_ahashes (algs_sha1_md5_sha256, +ARRAY_SIZE (algs_sha1_md5_sha256)); pdata->res->end -=0x300 ;tasklet_kill (&pdata->hash_tasklet);
Quoted 11 lines · Thorsten Blum
Replace multiple for loops with calls to
crypto_unregister_ahashes()andcrypto_unregister_skciphers().If
crypto_register_skcipher()fails ins5p_aes_probe(), log the error directly instead of checking 'i <ARRAY_SIZE(algs)' later. Also drop now-unused local index variables. No functional changes.Signed-off-by Thorsten Blum <[email protected]>--- drivers/crypto/s5p-sss.c | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-)
Best regards,
Krzysztof
Quoted 8 lines · Thorsten Blum
Replace multiple for loops with calls to
crypto_unregister_ahashes()andcrypto_unregister_skciphers().If
crypto_register_skcipher()fails ins5p_aes_probe(), log the error directly instead of checking 'i <ARRAY_SIZE(algs)' later. Also drop now-unused local index variables. No functional changes.Signed-off-by Thorsten Blum <[email protected]>
Signature · 2 lines
Best wishes, Vladimir
Herbert Xu
maintainerQuoted 11 lines · Thorsten Blum
Replace multiple for loops with calls to
crypto_unregister_ahashes()andcrypto_unregister_skciphers().If
crypto_register_skcipher()fails ins5p_aes_probe(), log the error directly instead of checking 'i <ARRAY_SIZE(algs)' later. Also drop now-unused local index variables. No functional changes.Signed-off-by Thorsten Blum <[email protected]>--- drivers/crypto/s5p-sss.c | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 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