hwrng: ingenic - switch to device managed registration
authorMartin Kaiser <martin@kaiser.cx>
Mon, 10 Jul 2023 20:27:33 +0000 (22:27 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 22 Jul 2023 01:59:37 +0000 (13:59 +1200)
Call devm_hwrng_register for device managed registration of the
ingenic-trng driver. ingenic_trng_remove can then be deleted.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/ingenic-trng.c

index 9c54721..3967a8d 100644 (file)
@@ -98,7 +98,7 @@ static int ingenic_trng_probe(struct platform_device *pdev)
        trng->rng.cleanup = ingenic_trng_cleanup;
        trng->rng.read = ingenic_trng_read;
 
-       ret = hwrng_register(&trng->rng);
+       ret = devm_hwrng_register(&pdev->dev, &trng->rng);
        if (ret)
                return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
 
@@ -108,15 +108,6 @@ static int ingenic_trng_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int ingenic_trng_remove(struct platform_device *pdev)
-{
-       struct ingenic_trng *trng = platform_get_drvdata(pdev);
-
-       hwrng_unregister(&trng->rng);
-
-       return 0;
-}
-
 static const struct of_device_id ingenic_trng_of_match[] = {
        { .compatible = "ingenic,x1830-dtrng" },
        { /* sentinel */ }
@@ -125,7 +116,6 @@ MODULE_DEVICE_TABLE(of, ingenic_trng_of_match);
 
 static struct platform_driver ingenic_trng_driver = {
        .probe          = ingenic_trng_probe,
-       .remove         = ingenic_trng_remove,
        .driver         = {
                .name   = "ingenic-trng",
                .of_match_table = ingenic_trng_of_match,