From: Heinrich Schuchardt Date: Sat, 4 Nov 2023 07:00:07 +0000 (+0200) Subject: rng: fix ARMv8.5 RNDR driver X-Git-Url: http://git.dujemihanovic.xyz/%22/img/sics.gif/%22/static/git-favicon.png?a=commitdiff_plain;h=badef4cd4a9154776238cb1fad6d22bc93340303;p=u-boot.git rng: fix ARMv8.5 RNDR driver 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 Reviewed-by: Andre Przywara Tested-by: Andre Przywara --- diff --git a/drivers/rng/arm_rndr.c b/drivers/rng/arm_rndr.c index 55989743ea..4512330e68 100644 --- a/drivers/rng/arm_rndr.c +++ b/drivers/rng/arm_rndr.c @@ -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) = {