aboutsummaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--drivers/crypto/atmel-aes.c38
-rw-r--r--drivers/crypto/atmel-sha.c27
-rw-r--r--drivers/crypto/atmel-tdes.c29
3 files changed, 25 insertions, 69 deletions
diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c
index de8f5da75a0f..fb16d812c8f5 100644
--- a/drivers/crypto/atmel-aes.c
+++ b/drivers/crypto/atmel-aes.c
@@ -1324,7 +1324,6 @@ static int atmel_aes_probe(struct platform_device *pdev)
1324 struct crypto_platform_data *pdata; 1324 struct crypto_platform_data *pdata;
1325 struct device *dev = &pdev->dev; 1325 struct device *dev = &pdev->dev;
1326 struct resource *aes_res; 1326 struct resource *aes_res;
1327 unsigned long aes_phys_size;
1328 int err; 1327 int err;
1329 1328
1330 pdata = pdev->dev.platform_data; 1329 pdata = pdev->dev.platform_data;
@@ -1341,7 +1340,7 @@ static int atmel_aes_probe(struct platform_device *pdev)
1341 goto aes_dd_err; 1340 goto aes_dd_err;
1342 } 1341 }
1343 1342
1344 aes_dd = kzalloc(sizeof(struct atmel_aes_dev), GFP_KERNEL); 1343 aes_dd = devm_kzalloc(&pdev->dev, sizeof(*aes_dd), GFP_KERNEL);
1345 if (aes_dd == NULL) { 1344 if (aes_dd == NULL) {
1346 dev_err(dev, "unable to alloc data struct.\n"); 1345 dev_err(dev, "unable to alloc data struct.\n");
1347 err = -ENOMEM; 1346 err = -ENOMEM;
@@ -1372,36 +1371,35 @@ static int atmel_aes_probe(struct platform_device *pdev)
1372 goto res_err; 1371 goto res_err;
1373 } 1372 }
1374 aes_dd->phys_base = aes_res->start; 1373 aes_dd->phys_base = aes_res->start;
1375 aes_phys_size = resource_size(aes_res);
1376 1374
1377 /* Get the IRQ */ 1375 /* Get the IRQ */
1378 aes_dd->irq = platform_get_irq(pdev, 0); 1376 aes_dd->irq = platform_get_irq(pdev, 0);
1379 if (aes_dd->irq < 0) { 1377 if (aes_dd->irq < 0) {
1380 dev_err(dev, "no IRQ resource info\n"); 1378 dev_err(dev, "no IRQ resource info\n");
1381 err = aes_dd->irq; 1379 err = aes_dd->irq;
1382 goto aes_irq_err; 1380 goto res_err;
1383 } 1381 }
1384 1382
1385 err = request_irq(aes_dd->irq, atmel_aes_irq, IRQF_SHARED, "atmel-aes", 1383 err = devm_request_irq(&pdev->dev, aes_dd->irq, atmel_aes_irq,
1386 aes_dd); 1384 IRQF_SHARED, "atmel-aes", aes_dd);
1387 if (err) { 1385 if (err) {
1388 dev_err(dev, "unable to request aes irq.\n"); 1386 dev_err(dev, "unable to request aes irq.\n");
1389 goto aes_irq_err; 1387 goto res_err;
1390 } 1388 }
1391 1389
1392 /* Initializing the clock */ 1390 /* Initializing the clock */
1393 aes_dd->iclk = clk_get(&pdev->dev, "aes_clk"); 1391 aes_dd->iclk = devm_clk_get(&pdev->dev, "aes_clk");
1394 if (IS_ERR(aes_dd->iclk)) { 1392 if (IS_ERR(aes_dd->iclk)) {
1395 dev_err(dev, "clock initialization failed.\n"); 1393 dev_err(dev, "clock initialization failed.\n");
1396 err = PTR_ERR(aes_dd->iclk); 1394 err = PTR_ERR(aes_dd->iclk);
1397 goto clk_err; 1395 goto res_err;
1398 } 1396 }
1399 1397
1400 aes_dd->io_base = ioremap(aes_dd->phys_base, aes_phys_size); 1398 aes_dd->io_base = devm_ioremap_resource(&pdev->dev, aes_res);
1401 if (!aes_dd->io_base) { 1399 if (!aes_dd->io_base) {
1402 dev_err(dev, "can't ioremap\n"); 1400 dev_err(dev, "can't ioremap\n");
1403 err = -ENOMEM; 1401 err = -ENOMEM;
1404 goto aes_io_err; 1402 goto res_err;
1405 } 1403 }
1406 1404
1407 atmel_aes_hw_version_init(aes_dd); 1405 atmel_aes_hw_version_init(aes_dd);
@@ -1438,17 +1436,9 @@ err_algs:
1438err_aes_dma: 1436err_aes_dma:
1439 atmel_aes_buff_cleanup(aes_dd); 1437 atmel_aes_buff_cleanup(aes_dd);
1440err_aes_buff: 1438err_aes_buff:
1441 iounmap(aes_dd->io_base);
1442aes_io_err:
1443 clk_put(aes_dd->iclk);
1444clk_err:
1445 free_irq(aes_dd->irq, aes_dd);
1446aes_irq_err:
1447res_err: 1439res_err:
1448 tasklet_kill(&aes_dd->done_task); 1440 tasklet_kill(&aes_dd->done_task);
1449 tasklet_kill(&aes_dd->queue_task); 1441 tasklet_kill(&aes_dd->queue_task);
1450 kfree(aes_dd);
1451 aes_dd = NULL;
1452aes_dd_err: 1442aes_dd_err:
1453 dev_err(dev, "initialization failed.\n"); 1443 dev_err(dev, "initialization failed.\n");
1454 1444
@@ -1473,16 +1463,6 @@ static int atmel_aes_remove(struct platform_device *pdev)
1473 1463
1474 atmel_aes_dma_cleanup(aes_dd); 1464 atmel_aes_dma_cleanup(aes_dd);
1475 1465
1476 iounmap(aes_dd->io_base);
1477
1478 clk_put(aes_dd->iclk);
1479
1480 if (aes_dd->irq > 0)
1481 free_irq(aes_dd->irq, aes_dd);
1482
1483 kfree(aes_dd);
1484 aes_dd = NULL;
1485
1486 return 0; 1466 return 0;
1487} 1467}
1488 1468
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:
diff --git a/drivers/crypto/atmel-tdes.c b/drivers/crypto/atmel-tdes.c
index 504e90340074..2c7a628d0375 100644
--- a/drivers/crypto/atmel-tdes.c
+++ b/drivers/crypto/atmel-tdes.c
@@ -1359,7 +1359,6 @@ static int atmel_tdes_probe(struct platform_device *pdev)
1359 struct crypto_platform_data *pdata; 1359 struct crypto_platform_data *pdata;
1360 struct device *dev = &pdev->dev; 1360 struct device *dev = &pdev->dev;
1361 struct resource *tdes_res; 1361 struct resource *tdes_res;
1362 unsigned long tdes_phys_size;
1363 int err; 1362 int err;
1364 1363
1365 tdes_dd = devm_kmalloc(&pdev->dev, sizeof(*tdes_dd), GFP_KERNEL); 1364 tdes_dd = devm_kmalloc(&pdev->dev, sizeof(*tdes_dd), GFP_KERNEL);
@@ -1393,7 +1392,6 @@ static int atmel_tdes_probe(struct platform_device *pdev)
1393 goto res_err; 1392 goto res_err;
1394 } 1393 }
1395 tdes_dd->phys_base = tdes_res->start; 1394 tdes_dd->phys_base = tdes_res->start;
1396 tdes_phys_size = resource_size(tdes_res);
1397 1395
1398 /* Get the IRQ */ 1396 /* Get the IRQ */
1399 tdes_dd->irq = platform_get_irq(pdev, 0); 1397 tdes_dd->irq = platform_get_irq(pdev, 0);
@@ -1403,26 +1401,26 @@ static int atmel_tdes_probe(struct platform_device *pdev)
1403 goto res_err; 1401 goto res_err;
1404 } 1402 }
1405 1403
1406 err = request_irq(tdes_dd->irq, atmel_tdes_irq, IRQF_SHARED, 1404 err = devm_request_irq(&pdev->dev, tdes_dd->irq, atmel_tdes_irq,
1407 "atmel-tdes", tdes_dd); 1405 IRQF_SHARED, "atmel-tdes", tdes_dd);
1408 if (err) { 1406 if (err) {
1409 dev_err(dev, "unable to request tdes irq.\n"); 1407 dev_err(dev, "unable to request tdes irq.\n");
1410 goto tdes_irq_err; 1408 goto res_err;
1411 } 1409 }
1412 1410
1413 /* Initializing the clock */ 1411 /* Initializing the clock */
1414 tdes_dd->iclk = clk_get(&pdev->dev, "tdes_clk"); 1412 tdes_dd->iclk = devm_clk_get(&pdev->dev, "tdes_clk");
1415 if (IS_ERR(tdes_dd->iclk)) { 1413 if (IS_ERR(tdes_dd->iclk)) {
1416 dev_err(dev, "clock initialization failed.\n"); 1414 dev_err(dev, "clock initialization failed.\n");
1417 err = PTR_ERR(tdes_dd->iclk); 1415 err = PTR_ERR(tdes_dd->iclk);
1418 goto clk_err; 1416 goto res_err;
1419 } 1417 }
1420 1418
1421 tdes_dd->io_base = ioremap(tdes_dd->phys_base, tdes_phys_size); 1419 tdes_dd->io_base = devm_ioremap_resource(&pdev->dev, tdes_res);
1422 if (!tdes_dd->io_base) { 1420 if (!tdes_dd->io_base) {
1423 dev_err(dev, "can't ioremap\n"); 1421 dev_err(dev, "can't ioremap\n");
1424 err = -ENOMEM; 1422 err = -ENOMEM;
1425 goto tdes_io_err; 1423 goto res_err;
1426 } 1424 }
1427 1425
1428 atmel_tdes_hw_version_init(tdes_dd); 1426 atmel_tdes_hw_version_init(tdes_dd);
@@ -1478,12 +1476,6 @@ err_tdes_dma:
1478err_pdata: 1476err_pdata:
1479 atmel_tdes_buff_cleanup(tdes_dd); 1477 atmel_tdes_buff_cleanup(tdes_dd);
1480err_tdes_buff: 1478err_tdes_buff:
1481 iounmap(tdes_dd->io_base);
1482tdes_io_err:
1483 clk_put(tdes_dd->iclk);
1484clk_err:
1485 free_irq(tdes_dd->irq, tdes_dd);
1486tdes_irq_err:
1487res_err: 1479res_err:
1488 tasklet_kill(&tdes_dd->done_task); 1480 tasklet_kill(&tdes_dd->done_task);
1489 tasklet_kill(&tdes_dd->queue_task); 1481 tasklet_kill(&tdes_dd->queue_task);
@@ -1514,13 +1506,6 @@ static int atmel_tdes_remove(struct platform_device *pdev)
1514 1506
1515 atmel_tdes_buff_cleanup(tdes_dd); 1507 atmel_tdes_buff_cleanup(tdes_dd);
1516 1508
1517 iounmap(tdes_dd->io_base);
1518
1519 clk_put(tdes_dd->iclk);
1520
1521 if (tdes_dd->irq >= 0)
1522 free_irq(tdes_dd->irq, tdes_dd);
1523
1524 return 0; 1509 return 0;
1525} 1510}
1526 1511