[PATCH] drivers: watchdog: Fix dev_read_addr error check
Simon Glass
sjg at chromium.org
Mon May 25 17:14:32 CEST 2026
Hi Francois,
On 2026-05-21T18:38:24, Francois Berder <fberder at outlook.fr> wrote:
> drivers: watchdog: Fix dev_read_addr error check
>
> dev_read_addr returns FDT_ADDR_T_NONE (-1) in case of error
> and not 0.
>
> Signed-off-by: Francois Berder <fberder at outlook.fr>
>
> drivers/watchdog/starfive_wdt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/drivers/watchdog/starfive_wdt.c b/drivers/watchdog/starfive_wdt.c
> @@ -291,7 +291,7 @@ static int starfive_wdt_of_to_plat(struct udevice *dev)
> struct starfive_wdt_priv *wdt = dev_get_priv(dev);
>
> wdt->base = (void *)dev_read_addr(dev);
> - if (!wdt->base)
> + if (wdt->base == (void *)FDT_ADDR_T_NONE)
> return -ENODEV;
Since wdt->base is a void *, please can you use dev_read_addr_ptr()
here? That returns NULL on error and avoids the cast, matching other
watchdog drivers (see ast2600_wdt, etc.):
wdt->base = dev_read_addr_ptr(dev);
if (!wdt->base)
return -EINVAL;
(since this is a DT fault I think -EINVAL is better)
Regards,
Simon
More information about the U-Boot
mailing list