mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
drivers/char/hw_random/octeon-rng.c: drop frees of devm allocated data
devm_kfree and devm_iounmap should not have to be explicitly used. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,d; @@ x = devm_kzalloc(...) ... ?-devm_kfree(d,x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
33b58b01ac
commit
4dbb845dde
1 changed files with 5 additions and 12 deletions
|
@ -75,42 +75,35 @@ static int __devinit octeon_rng_probe(struct platform_device *pdev)
|
|||
|
||||
res_ports = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res_ports)
|
||||
goto err_ports;
|
||||
return -ENOENT;
|
||||
|
||||
res_result = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
if (!res_result)
|
||||
goto err_ports;
|
||||
return -ENOENT;
|
||||
|
||||
|
||||
rng->control_status = devm_ioremap_nocache(&pdev->dev,
|
||||
res_ports->start,
|
||||
sizeof(u64));
|
||||
if (!rng->control_status)
|
||||
goto err_ports;
|
||||
return -ENOENT;
|
||||
|
||||
rng->result = devm_ioremap_nocache(&pdev->dev,
|
||||
res_result->start,
|
||||
sizeof(u64));
|
||||
if (!rng->result)
|
||||
goto err_r;
|
||||
return -ENOENT;
|
||||
|
||||
rng->ops = ops;
|
||||
|
||||
dev_set_drvdata(&pdev->dev, &rng->ops);
|
||||
ret = hwrng_register(&rng->ops);
|
||||
if (ret)
|
||||
goto err;
|
||||
return -ENOENT;
|
||||
|
||||
dev_info(&pdev->dev, "Octeon Random Number Generator\n");
|
||||
|
||||
return 0;
|
||||
err:
|
||||
devm_iounmap(&pdev->dev, rng->control_status);
|
||||
err_r:
|
||||
devm_iounmap(&pdev->dev, rng->result);
|
||||
err_ports:
|
||||
devm_kfree(&pdev->dev, rng);
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
static int __exit octeon_rng_remove(struct platform_device *pdev)
|
||||
|
|
Loading…
Reference in a new issue