From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933607AbcAYUmN (ORCPT ); Mon, 25 Jan 2016 15:42:13 -0500 Received: from bh-25.webhostbox.net ([208.91.199.152]:51926 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754095AbcAYUmK (ORCPT ); Mon, 25 Jan 2016 15:42:10 -0500 Subject: Re: [PATCH v3] watchdog: Add watchdog timer support for the WinSystems EBC-C384 To: One Thousand Gnomes , William Breathitt Gray References: <20160125190942.GA6824@sophia> <20160125192810.2487661b@lxorguk.ukuu.org.uk> Cc: wim@iguana.be, linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org From: Guenter Roeck Message-ID: <56A6889E.60208@roeck-us.net> Date: Mon, 25 Jan 2016 12:42:06 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160125192810.2487661b@lxorguk.ukuu.org.uk> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated_sender: linux@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: linux@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: linux@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/25/2016 11:28 AM, One Thousand Gnomes 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...) > Matter of endless discussion. Some argue that the value should be rounded up, some argue that it should be rounded down, some argue that it should be rounded to the closest match. Each camp has its own valid arguments. I usually leave it up to the driver's author to decide, with a slight preference to never select a value larger than requested. >> +static int __init ebc_c384_wdt_init(void) >> +{ >> + int err; >> + >> + if (!dmi_match(DMI_BOARD_NAME, "EBC-C384 SBC")) >> + return -ENODEV; >> + > > Is there no ACPI entry for it ? > Same here. As long as the board is identified, I tend to leave it up to the driver author to decide _how_ to identify it. Only question for me would be if the watchdog timer is implemented in a Super-IO chip, and if so, if it would be possible to use the chip identification instead of a DMI (or ACPI) entry to instantiate the driver. Thanks, Guenter