[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160228162404.GB7577@spo001.leaseweb.nl>
Date: Sun, 28 Feb 2016 17:24:04 +0100
From: Wim Van Sebroeck <wim@...ana.be>
To: Guenter Roeck <linux@...ck-us.net>
Cc: One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>,
William Breathitt Gray <vilhelm.gray@...il.com>,
linux-watchdog@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] watchdog: Add watchdog timer support for the WinSystems EBC-C384
Hi Guenter,
> On 02/28/2016 06:07 AM, Wim Van Sebroeck wrote:
> >>>+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;
> >
>
> In case I am missing something: Why not just use DIV_ROUND_UP() ?
That's indeed also usable (from kernel.h: #define DIV_ROUND_UP(n,d) (((n) + (d) -1) / (d)) which is the same) and indeed preferable.
Kind regards,
Wim.
Powered by blists - more mailing lists