[PATCH] crypto: amcc: trng: use devm_of_iomap()
From: Rosen Penev
Date: Wed Aug 12 2026 - 14:57:54 EST
Convert of_iomap() to devm_of_iomap() so that the TRNG register
mapping is automatically unmapped on driver detach, eliminating
the need for manual iounmap() calls in the error and remove paths.
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
drivers/crypto/amcc/crypto4xx_trng.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/crypto/amcc/crypto4xx_trng.c b/drivers/crypto/amcc/crypto4xx_trng.c
index cfd66b779ce1..4dd699c41c8a 100644
--- a/drivers/crypto/amcc/crypto4xx_trng.c
+++ b/drivers/crypto/amcc/crypto4xx_trng.c
@@ -82,9 +82,9 @@ void ppc4xx_trng_probe(struct crypto4xx_core_device *core_dev)
return;
}
- dev->trng_base = of_iomap(trng, 0);
+ dev->trng_base = devm_of_iomap(core_dev->device, trng, 0, NULL);
of_node_put(trng);
- if (!dev->trng_base)
+ if (IS_ERR(dev->trng_base))
goto err_out;
rng = kzalloc_obj(*rng);
@@ -108,9 +108,7 @@ void ppc4xx_trng_probe(struct crypto4xx_core_device *core_dev)
return;
err_out:
- iounmap(dev->trng_base);
kfree(rng);
- dev->trng_base = NULL;
core_dev->trng = NULL;
}
@@ -121,7 +119,6 @@ void ppc4xx_trng_remove(struct crypto4xx_core_device *core_dev)
devm_hwrng_unregister(core_dev->device, core_dev->trng);
ppc4xx_trng_enable(dev, false);
- iounmap(dev->trng_base);
kfree(core_dev->trng);
}
}
--
2.55.0