Re: [PATCHv3 0/3] watchdog: add f71862fg support

From: Wim Van Sebroeck
Date: Sat Oct 02 2010 - 08:33:25 EST


Hi all,

> On Sun, Sep 26, 2010 at 04:06:29PM +0200, Lutz Ballaschke wrote:
> > Furthermore i was thinking about modifying the WDIOC_GETTIMELEFT
> > helper function since it simply returns the content of the WDT timer
> > register without regarding whether the driver runs in minute-mode or not
> > (thanks to Giel for pointing that out). This means if the driver is loaded
> > with a timeout of >255 seconds (and switches to minute-mode) WDIOC_GETTIMELEFT
> > ioctl returns minutes instead of seconds and thus doesn't comply with
> > watchdog-api (e.g. ioctl returns 6(min) not 360(sec)). It might be
> > confusing if one loads the driver with a timeout of let's say 360 seconds
> > and gets 6 minutes returned by ioctl. But imho it's not very accurate to
> > return a value of seconds if the wdt doesn't count in seconds. That might
> > be even more confusing. This inconsistency on the part of the hardware
> > maybe can't get satisfyingly compensated by the driver. So i'd prefer the
> > most simple solution.
>
> IMO the worst option would be to just return minutes. Returning
> 'minutes * 60 = seconds' would be significantly less bad. So if these
> are your options I'd suggest going with the lesser evil.
>
> One other possible option could be returning '(minutes - 1) * 60 + 1'.
> That way bad timing decisions based on the (wrong) assumption, that
> there are still 60 seconds left until reset, can be averted.
>
> I would however like Wim's opinion on this, as this affects the
> Watchdog API's usage.

The return value should be the seconds before the watchdog will reboot.
So value should be seconds, not minutes and is best the safest value
(so (minutes - 1) * 60 + 1 in this case ).
Secondly: the WDIOC_GETTIMELEFT should only be a DEBUGging ioctl.
The reason I created it, is to check if certain drivers are working
or not. We should not use it in normal operations imho.

Kind regards,
Wim.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/