[PATCH 1/1] sysreset: watchdog: watchdog cannot power off

François Ozog francois.ozog at linaro.org
Thu Nov 4 10:55:21 CET 2021


Hi Heinrich,

On Thu, 4 Nov 2021 at 10:31, Heinrich Schuchardt <
heinrich.schuchardt at canonical.com> wrote:

> The watchdog system reset driver can reboot the device but it cannot power
> it off. If power off is requested, the driver should not reset the system
> but leave powering off to one of the other system reset drivers.
>
> As power cycling is typically not a feature of a watchdog driver the reset
> types SYSRESET_POWER and SYSRESET_POWER_OFF shall both be excluded.
>
A candid question here. I know that IPMI can powercycle a platform.
How would we handle that should there be a way to make the power cycle
happen?
(for instance we could define a PSCI extension of SYSTEM_RESET2 to have a
power cycle effect)

>
> Fixes: 17a0c14164dc ("dm: sysreset: add watchdog-reboot driver")
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
>  drivers/sysreset/sysreset_watchdog.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/sysreset/sysreset_watchdog.c
> b/drivers/sysreset/sysreset_watchdog.c
> index 35efcac59d..8a659ee9b9 100644
> --- a/drivers/sysreset/sysreset_watchdog.c
> +++ b/drivers/sysreset/sysreset_watchdog.c
> @@ -20,9 +20,16 @@ static int wdt_reboot_request(struct udevice *dev, enum
> sysreset_t type)
>         struct wdt_reboot_plat *plat = dev_get_plat(dev);
>         int ret;
>
> -       ret = wdt_expire_now(plat->wdt, 0);
> -       if (ret)
> -               return ret;
> +       switch (type) {
> +       case SYSRESET_COLD:
> +       case SYSRESET_WARM:
> +               ret = wdt_expire_now(plat->wdt, 0);
> +               if (ret)
> +                       return ret;
> +               break;
> +       default:
> +               return -ENOSYS;
> +       }
>
>         return -EINPROGRESS;
>  }
> --
> 2.32.0
>
>

-- 
François-Frédéric Ozog | *Director Business Development*
T: +33.67221.6485
francois.ozog at linaro.org | Skype: ffozog


More information about the U-Boot mailing list