aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/hw_random/xgene-rng.c
diff options
context:
space:
mode:
authorChuhong Yuan <hslester96@gmail.com>2019-07-25 16:01:55 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2019-08-02 14:44:33 +1000
commit3e75241be8081f22f7382f4041496b10a4d9aed0 (patch)
treea6605ba766c278cd25ef20a27b3b05bba2c6c389 /drivers/char/hw_random/xgene-rng.c
parentcrypto: jitterentropy - build without sanitizer (diff)
downloadlinux-dev-3e75241be8081f22f7382f4041496b10a4d9aed0.tar.xz
linux-dev-3e75241be8081f22f7382f4041496b10a4d9aed0.zip
hwrng: drivers - Use device-managed registration API
Use devm_hwrng_register to simplify the implementation. Manual unregistration and some remove functions can be removed now. Signed-off-by: Chuhong Yuan <hslester96@gmail.com> Acked-by: Ɓukasz Stelmach <l.stelmach@samsung.com> Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/char/hw_random/xgene-rng.c')
-rw-r--r--drivers/char/hw_random/xgene-rng.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/char/hw_random/xgene-rng.c b/drivers/char/hw_random/xgene-rng.c
index 8c6f9f63da5e..7e568db87ae2 100644
--- a/drivers/char/hw_random/xgene-rng.c
+++ b/drivers/char/hw_random/xgene-rng.c
@@ -361,7 +361,7 @@ static int xgene_rng_probe(struct platform_device *pdev)
xgene_rng_func.priv = (unsigned long) ctx;
- rc = hwrng_register(&xgene_rng_func);
+ rc = devm_hwrng_register(&pdev->dev, &xgene_rng_func);
if (rc) {
dev_err(&pdev->dev, "RNG registering failed error %d\n", rc);
if (!IS_ERR(ctx->clk))
@@ -375,7 +375,6 @@ static int xgene_rng_probe(struct platform_device *pdev)
rc);
if (!IS_ERR(ctx->clk))
clk_disable_unprepare(ctx->clk);
- hwrng_unregister(&xgene_rng_func);
return rc;
}
@@ -392,7 +391,6 @@ static int xgene_rng_remove(struct platform_device *pdev)
dev_err(&pdev->dev, "RNG init wakeup failed error %d\n", rc);
if (!IS_ERR(ctx->clk))
clk_disable_unprepare(ctx->clk);
- hwrng_unregister(&xgene_rng_func);
return rc;
}