+static int ebc_c384_wdt_set_timeout(struct watchdog_device *wdev, unsigned t)
+{
+ /* resolution is in minutes for timeouts greater than 255 seconds */
+ if (t > 255) {
+ /* truncate second resolution to minute resolution */
+ t /= 60;
+ wdev->timeout = t * 60;
+
+ /* set watchdog timer for minutes */
+ outb(0x00, CFG_ADDR);
If ask for 299 seconds surely I should get 300 not 240 ?
(Whether to round off or round up is an interesting question for the
middle range - does it go off early or late - I'd have said late but...)
This is my preference:
if (t > 255)
t = (((t - 1) / 60) + 1) * 60;