diff options
| author | dann frazier <dannf@hp.com> | 2010-06-02 18:23:40 -0400 |
|---|---|---|
| committer | Wim Van Sebroeck <wim@iguana.be> | 2010-08-13 16:54:42 -0400 |
| commit | 6f681c2eabbd8df062963c52abaa0c7c3b2c5a7d (patch) | |
| tree | 13bf846272f0ff221e0b00cc04e876ff3af06ec8 | |
| parent | e802e32d2b42ce1384baf4e150f444477729aad2 (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>
| -rw-r--r-- | drivers/watchdog/hpwdt.c | 5 |
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 | ||
| 41 | static unsigned int soft_margin = DEFAULT_MARGIN; /* in seconds */ | 43 | static unsigned int soft_margin = DEFAULT_MARGIN; /* in seconds */ |
| @@ -432,8 +434,7 @@ static void hpwdt_ping(void) | |||
| 432 | 434 | ||
| 433 | static int hpwdt_change_timer(int new_margin) | 435 | static 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); |
