On Thu, Mar 16, 2023 at 03:13:12PM -0500, Gregory Oakes wrote: > The watchdog countdown is supposed to begin when the device file is > opened. Instead, it would begin countdown upon the first write to or > close of the device file. Now, the ping operation is called within the > start operation which ensures the countdown begins. From experimenation, > it does not appear possible to do this with a single write including > both the start bit and the trigger bit. So, it is done as two distinct > writes. > > Signed-off-by: Gregory Oakes <gregory.oakes@xxxxxxx> In the future, please remember to provide change logs. Fortunately I still remember v1, so Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Guenter > --- > drivers/watchdog/sp5100_tco.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c > index fb426b7d81da..14f8d8d90920 100644 > --- a/drivers/watchdog/sp5100_tco.c > +++ b/drivers/watchdog/sp5100_tco.c > @@ -115,6 +115,10 @@ static int tco_timer_start(struct watchdog_device *wdd) > val |= SP5100_WDT_START_STOP_BIT; > writel(val, SP5100_WDT_CONTROL(tco->tcobase)); > > + /* This must be a distinct write. */ > + val |= SP5100_WDT_TRIGGER_BIT; > + writel(val, SP5100_WDT_CONTROL(tco->tcobase)); > + > return 0; > } > > -- > 2.39.1 >