|
@@ -1353,7 +1353,6 @@ static struct crypto_platform_data *atmel_sha_of_init(struct platform_device *pd
|
|
GFP_KERNEL);
|
|
GFP_KERNEL);
|
|
if (!pdata->dma_slave) {
|
|
if (!pdata->dma_slave) {
|
|
dev_err(&pdev->dev, "could not allocate memory for dma_slave\n");
|
|
dev_err(&pdev->dev, "could not allocate memory for dma_slave\n");
|
|
- devm_kfree(&pdev->dev, pdata);
|
|
|
|
return ERR_PTR(-ENOMEM);
|
|
return ERR_PTR(-ENOMEM);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1375,7 +1374,8 @@ static int atmel_sha_probe(struct platform_device *pdev)
|
|
unsigned long sha_phys_size;
|
|
unsigned long sha_phys_size;
|
|
int err;
|
|
int err;
|
|
|
|
|
|
- sha_dd = kzalloc(sizeof(struct atmel_sha_dev), GFP_KERNEL);
|
|
|
|
|
|
+ sha_dd = devm_kzalloc(&pdev->dev, sizeof(struct atmel_sha_dev),
|
|
|
|
+ GFP_KERNEL);
|
|
if (sha_dd == NULL) {
|
|
if (sha_dd == NULL) {
|
|
dev_err(dev, "unable to alloc data struct.\n");
|
|
dev_err(dev, "unable to alloc data struct.\n");
|
|
err = -ENOMEM;
|
|
err = -ENOMEM;
|
|
@@ -1490,8 +1490,6 @@ clk_err:
|
|
free_irq(sha_dd->irq, sha_dd);
|
|
free_irq(sha_dd->irq, sha_dd);
|
|
res_err:
|
|
res_err:
|
|
tasklet_kill(&sha_dd->done_task);
|
|
tasklet_kill(&sha_dd->done_task);
|
|
- kfree(sha_dd);
|
|
|
|
- sha_dd = NULL;
|
|
|
|
sha_dd_err:
|
|
sha_dd_err:
|
|
dev_err(dev, "initialization failed.\n");
|
|
dev_err(dev, "initialization failed.\n");
|
|
|
|
|
|
@@ -1523,9 +1521,6 @@ static int atmel_sha_remove(struct platform_device *pdev)
|
|
if (sha_dd->irq >= 0)
|
|
if (sha_dd->irq >= 0)
|
|
free_irq(sha_dd->irq, sha_dd);
|
|
free_irq(sha_dd->irq, sha_dd);
|
|
|
|
|
|
- kfree(sha_dd);
|
|
|
|
- sha_dd = NULL;
|
|
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|