From: Guenter Roeck <linux@roeck-us.net>
To: Michal Simek <monstr@monstr.eu>
Cc: Michal Simek <michal.simek@xilinx.com>,
linux-kernel@vger.kernel.org, Wim Van Sebroeck <wim@iguana.be>,
linux-watchdog@vger.kernel.org
Subject: Re: [PATCH 3/3] watchdog: xilinx: Add WDIOC_SETTIMEOUT ioctl function
Date: Thu, 30 May 2013 07:21:45 -0700 [thread overview]
Message-ID: <20130530142145.GA28856@roeck-us.net> (raw)
In-Reply-To: <51A75F11.7000001@monstr.eu>
On Thu, May 30, 2013 at 04:15:45PM +0200, Michal Simek wrote:
> On 05/30/2013 04:07 PM, Guenter Roeck wrote:
> > On Thu, May 30, 2013 at 02:26:04PM +0200, Michal Simek wrote:
> >> Standard watchdog programs try to setup timeout
> >> via ioctl and this functionality should be implemented.
> >> Timeout value is hardcoded in the hardware but
> >> based on Documentation/watchdog/watchdog-api.txt
> >> can return the real timeout used in the same variable.
> >>
> >> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> >> ---
> >> drivers/watchdog/of_xilinx_wdt.c | 1 +
> >> 1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/watchdog/of_xilinx_wdt.c b/drivers/watchdog/of_xilinx_wdt.c
> >> index 79f358c..a3bbe72 100644
> >> --- a/drivers/watchdog/of_xilinx_wdt.c
> >> +++ b/drivers/watchdog/of_xilinx_wdt.c
> >> @@ -253,6 +253,7 @@ static long xwdt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> >> xwdt_keepalive();
> >> return 0;
> >>
> >> + case WDIOC_SETTIMEOUT:
> >> case WDIOC_GETTIMEOUT:
> >> if (no_timeout)
> >> return -ENOTTY;
> >
> > Watchdog programs should check ident.options before trying to set the timeout.
> > If they don't, there is an application bug. I don't think it is a good idea
> > to start hacking the kernel to work around application bugs.
>
> Based on Documentation/watchdog/watchdog-api.txt
>
> "For some drivers it is possible to modify the watchdog timeout on the
> fly with the SETTIMEOUT ioctl, those drivers have the WDIOF_SETTIMEOUT
> flag set in their option field. The argument is an integer
Yes, but WDIOF_SETTIMEOUT is not set in the driver's option field.
Guenter
> representing the timeout in seconds. The driver returns the real
> timeout used in the same variable, and this timeout might differ from
> the requested one due to limitation of the hardware.
>
> int timeout = 45;
> ioctl(fd, WDIOC_SETTIMEOUT, &timeout);
> printf("The timeout was set to %d seconds\n", timeout);
>
> This example might actually print "The timeout was set to 60 seconds"
> if the device has a granularity of minutes for its timeout."
>
> should be completely fine that user application is trying to setup timeout
> and driver should return value based on it.
>
> And yes, user application should check return value from ioctl call
> but still based on documentation driver can properly support it too.
>
> Thanks,
> Michal
>
> --
> Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
> w: www.monstr.eu p: +42-0-721842854
> Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
> Maintainer of Linux kernel - Xilinx Zynq ARM architecture
> Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
>
>
next prev parent reply other threads:[~2013-05-30 14:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-30 12:26 [PATCH 1/3] watchdog: xilinx: Fix driver header Michal Simek
2013-05-30 12:26 ` [PATCH 2/3] watchdog: xilinx: Setup the origin compatible string Michal Simek
2013-05-30 14:00 ` Guenter Roeck
2013-05-30 14:04 ` Michal Simek
2013-05-30 12:26 ` [PATCH 3/3] watchdog: xilinx: Add WDIOC_SETTIMEOUT ioctl function Michal Simek
2013-05-30 14:07 ` Guenter Roeck
2013-05-30 14:15 ` Michal Simek
2013-05-30 14:21 ` Guenter Roeck [this message]
2013-05-30 14:34 ` Michal Simek
2013-05-30 15:03 ` Guenter Roeck
2013-05-30 15:12 ` Michal Simek
2013-05-30 15:25 ` Guenter Roeck
[not found] ` <CAHTX3dJ9fDJ6ggMGcF5v1vdcruMqnV4fv_6eP3U3DgOUfm8r+w@mail.gmail.com>
2013-05-30 22:08 ` Wim Van Sebroeck
2013-05-31 5:48 ` Michal Simek
2013-05-30 12:30 ` [PATCH 1/3] watchdog: xilinx: Fix driver header Venu Byravarasu
2013-05-30 12:32 ` Michal Simek
2013-05-30 14:26 ` Alejandro Cabrera
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130530142145.GA28856@roeck-us.net \
--to=linux@roeck-us.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=michal.simek@xilinx.com \
--cc=monstr@monstr.eu \
--cc=wim@iguana.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.