Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1655c240 authored by Jingoo Han's avatar Jingoo Han Committed by Herbert Xu
Browse files

hwrng: nomadik - Use devm_*() functions



Use devm_*() functions to make cleanup paths simpler.

Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 0c0aa844
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ static int nmk_rng_probe(struct amba_device *dev, const struct amba_id *id)
	void __iomem *base;
	int ret;

	rng_clk = clk_get(&dev->dev, NULL);
	rng_clk = devm_clk_get(&dev->dev, NULL);
	if (IS_ERR(rng_clk)) {
		dev_err(&dev->dev, "could not get rng clock\n");
		ret = PTR_ERR(rng_clk);
@@ -57,33 +57,28 @@ static int nmk_rng_probe(struct amba_device *dev, const struct amba_id *id)
	if (ret)
		goto out_clk;
	ret = -ENOMEM;
	base = ioremap(dev->res.start, resource_size(&dev->res));
	base = devm_ioremap(&dev->dev, dev->res.start,
			    resource_size(&dev->res));
	if (!base)
		goto out_release;
	nmk_rng.priv = (unsigned long)base;
	ret = hwrng_register(&nmk_rng);
	if (ret)
		goto out_unmap;
		goto out_release;
	return 0;

out_unmap:
	iounmap(base);
out_release:
	amba_release_regions(dev);
out_clk:
	clk_disable(rng_clk);
	clk_put(rng_clk);
	return ret;
}

static int nmk_rng_remove(struct amba_device *dev)
{
	void __iomem *base = (void __iomem *)nmk_rng.priv;
	hwrng_unregister(&nmk_rng);
	iounmap(base);
	amba_release_regions(dev);
	clk_disable(rng_clk);
	clk_put(rng_clk);
	return 0;
}