]> Git Repo - u-boot.git/commitdiff
rng: fix ARMv8.5 RNDR driver
authorHeinrich Schuchardt <[email protected]>
Sat, 4 Nov 2023 07:00:07 +0000 (09:00 +0200)
committerHeinrich Schuchardt <[email protected]>
Tue, 9 Jan 2024 06:36:18 +0000 (07:36 +0100)
In different parts of our code we assume that the first RNG device is the
one to be used. Therefore it is preferable to detect the availability of
the RNDR register already in the bind method.

For signaling the non-existence of a device the driver model requires using
ENOENT (and not ENODEV).

Fixes: 31565bb0aa2d ("driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers")
Signed-off-by: Heinrich Schuchardt <[email protected]>
Reviewed-by: Andre Przywara <[email protected]>
Tested-by: Andre Przywara <[email protected]>
drivers/rng/arm_rndr.c

index 55989743eaee37a09cf61ad4ff7fbe9a64a8742c..4512330e68dfcc46a06e8c42be4315ed6557ec82 100644 (file)
@@ -62,10 +62,10 @@ static const struct dm_rng_ops arm_rndr_ops = {
        .read = arm_rndr_read,
 };
 
-static int arm_rndr_probe(struct udevice *dev)
+static int arm_rndr_bind(struct udevice *dev)
 {
        if (!cpu_has_rndr())
-               return -ENODEV;
+               return -ENOENT;
 
        return 0;
 }
@@ -74,7 +74,7 @@ U_BOOT_DRIVER(arm_rndr) = {
        .name = DRIVER_NAME,
        .id = UCLASS_RNG,
        .ops = &arm_rndr_ops,
-       .probe = arm_rndr_probe,
+       .bind = arm_rndr_bind,
 };
 
 U_BOOT_DRVINFO(cpu_arm_rndr) = {
This page took 0.033282 seconds and 4 git commands to generate.