[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