watchdog: core: Make dt "timeout-sec" property work on drivers w/out min/max
authorDoug Anderson <dianders@chromium.org>
Tue, 26 Nov 2013 18:22:52 +0000 (10:22 -0800)
committerWim Van Sebroeck <wim@iguana.be>
Tue, 28 Jan 2014 18:07:56 +0000 (19:07 +0100)
commit2c34d59916bd82efe6544f39ec162e8c9236009d
tree47418cfcb1c3642921f777ca9893df2ce9e46e91
parentbc17f9dcb11dfe7a5f02103da51f580d62a6df2c
watchdog: core: Make dt "timeout-sec" property work on drivers w/out min/max

It is valid for a watchdog driver to have 0 for a "min" and "max"
timeout if the driver doesn't need the core to enforce the concepts of
min and max.  The s3c2410_wdt driver is one such driver.  Specifically
it can be hard for that driver to come up with a static "max" on all
platforms without a lot more information since the input clock on
S3C2410 and S3C2440 can change with DVFS.

As written, watchdog_init_timeout() will not ever read "timeout-sec"
on these drivers since watchdog_timeout_invalid() will _never_ return
true.  Change to not consider a timeout_parm of 0 as valid even if
min/max aren't specified by the driver.  Also handle the case when
there is no min/max and no "timeout-sec" property.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/watchdog_core.c