aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/watchdog/hpwdt.c
diff options
context:
space:
mode:
authordann frazier <dannf@hp.com>2010-06-02 18:23:40 -0400
committerWim Van Sebroeck <wim@iguana.be>2010-08-13 16:54:42 -0400
commit6f681c2eabbd8df062963c52abaa0c7c3b2c5a7d (patch)
tree13bf846272f0ff221e0b00cc04e876ff3af06ec8 /drivers/watchdog/hpwdt.c
parente802e32d2b42ce1384baf4e150f444477729aad2 (diff)
watchdog: hpwdt (7/12): allow full range of timer values supported by hardware
The hpwdt timer is a 16 bit value with 128ms resolution. Let applications use this entire range. Signed-off-by: dann frazier <dannf@hp.com> Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog/hpwdt.c')
-rw-r--r--drivers/watchdog/hpwdt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
index a5d36ae350dd..00299919df39 100644
--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -36,6 +36,8 @@
36 36
37#define HPWDT_VERSION "1.1.1" 37#define HPWDT_VERSION "1.1.1"
38#define SECS_TO_TICKS(secs) ((secs) * 1000 / 128) 38#define SECS_TO_TICKS(secs) ((secs) * 1000 / 128)
39#define TICKS_TO_SECS(ticks) ((ticks) * 128 / 1000)
40#define HPWDT_MAX_TIMER TICKS_TO_SECS(65535)
39#define DEFAULT_MARGIN 30 41#define DEFAULT_MARGIN 30
40 42
41static unsigned int soft_margin = DEFAULT_MARGIN; /* in seconds */ 43static unsigned int soft_margin = DEFAULT_MARGIN; /* in seconds */
@@ -432,8 +434,7 @@ static void hpwdt_ping(void)
432 434
433static int hpwdt_change_timer(int new_margin) 435static int hpwdt_change_timer(int new_margin)
434{ 436{
435 /* Arbitrary, can't find the card's limits */ 437 if (new_margin < 1 || new_margin > HPWDT_MAX_TIMER) {
436 if (new_margin < 5 || new_margin > 600) {
437 printk(KERN_WARNING 438 printk(KERN_WARNING
438 "hpwdt: New value passed in is invalid: %d seconds.\n", 439 "hpwdt: New value passed in is invalid: %d seconds.\n",
439 new_margin); 440 new_margin);