aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/atmel-sha.c
diff options
context:
space:
mode:
authorLABBE Corentin <clabbe.montjoie@gmail.com>2015-10-12 13:47:03 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2015-10-14 10:23:38 -0400
commitb0e8b3417a620e6e0a91fd526fbc6db78714198e (patch)
treec94520f907b4c3f2bdd84ef2de0647a15e02dd27 /drivers/crypto/atmel-sha.c
parentdc97fa02328b79f05a2ec1693b7596fae52c0e02 (diff)
crypto: atmel - use devm_xxx() managed function
Using the devm_xxx() managed function to stripdown the error and remove code. Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/atmel-sha.c')
-rw-r--r--drivers/crypto/atmel-sha.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
index 5e6cf0891b4d..660d8c06540b 100644
--- a/drivers/crypto/atmel-sha.c
+++ b/drivers/crypto/atmel-sha.c
@@ -1349,11 +1349,9 @@ static int atmel_sha_probe(struct platform_device *pdev)
1349 struct crypto_platform_data *pdata; 1349 struct crypto_platform_data *pdata;
1350 struct device *dev = &pdev->dev; 1350 struct device *dev = &pdev->dev;
1351 struct resource *sha_res; 1351 struct resource *sha_res;
1352 unsigned long sha_phys_size;
1353 int err; 1352 int err;
1354 1353
1355 sha_dd = devm_kzalloc(&pdev->dev, sizeof(struct atmel_sha_dev), 1354 sha_dd = devm_kzalloc(&pdev->dev, sizeof(*sha_dd), GFP_KERNEL);
1356 GFP_KERNEL);
1357 if (sha_dd == NULL) { 1355 if (sha_dd == NULL) {
1358 dev_err(dev, "unable to alloc data struct.\n"); 1356 dev_err(dev, "unable to alloc data struct.\n");
1359 err = -ENOMEM; 1357 err = -ENOMEM;
@@ -1382,7 +1380,6 @@ static int atmel_sha_probe(struct platform_device *pdev)
1382 goto res_err; 1380 goto res_err;
1383 } 1381 }
1384 sha_dd->phys_base = sha_res->start; 1382 sha_dd->phys_base = sha_res->start;
1385 sha_phys_size = resource_size(sha_res);
1386 1383
1387 /* Get the IRQ */ 1384 /* Get the IRQ */
1388 sha_dd->irq = platform_get_irq(pdev, 0); 1385 sha_dd->irq = platform_get_irq(pdev, 0);
@@ -1392,26 +1389,26 @@ static int atmel_sha_probe(struct platform_device *pdev)
1392 goto res_err; 1389 goto res_err;
1393 } 1390 }
1394 1391
1395 err = request_irq(sha_dd->irq, atmel_sha_irq, IRQF_SHARED, "atmel-sha", 1392 err = devm_request_irq(&pdev->dev, sha_dd->irq, atmel_sha_irq,
1396 sha_dd); 1393 IRQF_SHARED, "atmel-sha", sha_dd);
1397 if (err) { 1394 if (err) {
1398 dev_err(dev, "unable to request sha irq.\n"); 1395 dev_err(dev, "unable to request sha irq.\n");
1399 goto res_err; 1396 goto res_err;
1400 } 1397 }
1401 1398
1402 /* Initializing the clock */ 1399 /* Initializing the clock */
1403 sha_dd->iclk = clk_get(&pdev->dev, "sha_clk"); 1400 sha_dd->iclk = devm_clk_get(&pdev->dev, "sha_clk");
1404 if (IS_ERR(sha_dd->iclk)) { 1401 if (IS_ERR(sha_dd->iclk)) {
1405 dev_err(dev, "clock initialization failed.\n"); 1402 dev_err(dev, "clock initialization failed.\n");
1406 err = PTR_ERR(sha_dd->iclk); 1403 err = PTR_ERR(sha_dd->iclk);
1407 goto clk_err; 1404 goto res_err;
1408 } 1405 }
1409 1406
1410 sha_dd->io_base = ioremap(sha_dd->phys_base, sha_phys_size); 1407 sha_dd->io_base = devm_ioremap_resource(&pdev->dev, sha_res);
1411 if (!sha_dd->io_base) { 1408 if (!sha_dd->io_base) {
1412 dev_err(dev, "can't ioremap\n"); 1409 dev_err(dev, "can't ioremap\n");
1413 err = -ENOMEM; 1410 err = -ENOMEM;
1414 goto sha_io_err; 1411 goto res_err;
1415 } 1412 }
1416 1413
1417 atmel_sha_hw_version_init(sha_dd); 1414 atmel_sha_hw_version_init(sha_dd);
@@ -1425,12 +1422,12 @@ static int atmel_sha_probe(struct platform_device *pdev)
1425 if (IS_ERR(pdata)) { 1422 if (IS_ERR(pdata)) {
1426 dev_err(&pdev->dev, "platform data not available\n"); 1423 dev_err(&pdev->dev, "platform data not available\n");
1427 err = PTR_ERR(pdata); 1424 err = PTR_ERR(pdata);
1428 goto err_pdata; 1425 goto res_err;
1429 } 1426 }
1430 } 1427 }
1431 if (!pdata->dma_slave) { 1428 if (!pdata->dma_slave) {
1432 err = -ENXIO; 1429 err = -ENXIO;
1433 goto err_pdata; 1430 goto res_err;
1434 } 1431 }
1435 err = atmel_sha_dma_init(sha_dd, pdata); 1432 err = atmel_sha_dma_init(sha_dd, pdata);
1436 if (err) 1433 if (err)
@@ -1461,12 +1458,6 @@ err_algs:
1461 if (sha_dd->caps.has_dma) 1458 if (sha_dd->caps.has_dma)
1462 atmel_sha_dma_cleanup(sha_dd); 1459 atmel_sha_dma_cleanup(sha_dd);
1463err_sha_dma: 1460err_sha_dma:
1464err_pdata:
1465 iounmap(sha_dd->io_base);
1466sha_io_err:
1467 clk_put(sha_dd->iclk);
1468clk_err:
1469 free_irq(sha_dd->irq, sha_dd);
1470res_err: 1461res_err:
1471 tasklet_kill(&sha_dd->done_task); 1462 tasklet_kill(&sha_dd->done_task);
1472sha_dd_err: 1463sha_dd_err: