On 28.05.21 00:00, Rasmus Villemoes wrote:
wdt_start() does the "no ->start? return -ENOSYS" check, don't
open-code that in wdt_expire_now().

Also, wdt_start() maintains some global (and later some per-device)
state, which would get out of sync with this direct method call - not
that it matters much here since the board is supposed to reset very
soon.

Signed-off-by: Rasmus Villemoes <rasmus.villem...@prevas.dk>

Reviewed-by: Stefan Roese <s...@denx.de>

Thanks,
Stefan

---
  drivers/watchdog/wdt-uclass.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c
index 2687135296..634428fa24 100644
--- a/drivers/watchdog/wdt-uclass.c
+++ b/drivers/watchdog/wdt-uclass.c
@@ -118,10 +118,8 @@ int wdt_expire_now(struct udevice *dev, ulong flags)
        if (ops->expire_now) {
                return ops->expire_now(dev, flags);
        } else {
-               if (!ops->start)
-                       return -ENOSYS;
+               ret = wdt_start(dev, 1, flags);
- ret = ops->start(dev, 1, flags);
                if (ret < 0)
                        return ret;


Viele Grüße,
Stefan

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de

Reply via email to