diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2007-02-08 12:39:36 -0500 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2007-02-12 16:43:02 -0500 |
commit | 82eb7c5059de64bd43f6b3cf3f128470f2b3fb83 (patch) | |
tree | 6735317bd9c19574f85fa7e21d0071562e824355 /drivers/char/watchdog/w83877f_wdt.c | |
parent | 35fcf53870eaa6cc966604a6e36df1c2c1577540 (diff) |
[WATCHDOG] timers cleanup
- Use timer macros to set function and data members and to modify
expiration time.
- Use DEFINE_TIMER for single (platform dependent) watchdog timers and
do not init them at run-time in these cases.
- del_timer_sync is common in most cases -- we want to wait for timer
function if it's still running.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Steve Hill <steve@navaho.co.uk>
Cc: Heiko Ronsdorf <hero@ihg.uni-duisburg.de>
Cc: Fernando Fuganti <fuganti@conectiva.com.br>
Cc: Gergely Madarasz <gorgo@itc.hu>
Cc: Ken Hollis <khollis@bitgate.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'drivers/char/watchdog/w83877f_wdt.c')
-rw-r--r-- | drivers/char/watchdog/w83877f_wdt.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/char/watchdog/w83877f_wdt.c b/drivers/char/watchdog/w83877f_wdt.c index 7dcd80aa7373..3c88fe18f4f4 100644 --- a/drivers/char/watchdog/w83877f_wdt.c +++ b/drivers/char/watchdog/w83877f_wdt.c | |||
@@ -90,7 +90,7 @@ module_param(nowayout, int, 0); | |||
90 | MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); | 90 | MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); |
91 | 91 | ||
92 | static void wdt_timer_ping(unsigned long); | 92 | static void wdt_timer_ping(unsigned long); |
93 | static struct timer_list timer; | 93 | static DEFINE_TIMER(timer, wdt_timer_ping, 0, 0); |
94 | static unsigned long next_heartbeat; | 94 | static unsigned long next_heartbeat; |
95 | static unsigned long wdt_is_open; | 95 | static unsigned long wdt_is_open; |
96 | static char wdt_expect_close; | 96 | static char wdt_expect_close; |
@@ -114,8 +114,7 @@ static void wdt_timer_ping(unsigned long data) | |||
114 | inb_p(WDT_PING); | 114 | inb_p(WDT_PING); |
115 | 115 | ||
116 | /* Re-set the timer interval */ | 116 | /* Re-set the timer interval */ |
117 | timer.expires = jiffies + WDT_INTERVAL; | 117 | mod_timer(&timer, jiffies + WDT_INTERVAL); |
118 | add_timer(&timer); | ||
119 | 118 | ||
120 | spin_unlock(&wdt_spinlock); | 119 | spin_unlock(&wdt_spinlock); |
121 | 120 | ||
@@ -155,8 +154,7 @@ static void wdt_startup(void) | |||
155 | next_heartbeat = jiffies + (timeout * HZ); | 154 | next_heartbeat = jiffies + (timeout * HZ); |
156 | 155 | ||
157 | /* Start the timer */ | 156 | /* Start the timer */ |
158 | timer.expires = jiffies + WDT_INTERVAL; | 157 | mod_timer(&timer, jiffies + WDT_INTERVAL); |
159 | add_timer(&timer); | ||
160 | 158 | ||
161 | wdt_change(WDT_ENABLE); | 159 | wdt_change(WDT_ENABLE); |
162 | 160 | ||
@@ -377,10 +375,6 @@ static int __init w83877f_wdt_init(void) | |||
377 | goto err_out_region1; | 375 | goto err_out_region1; |
378 | } | 376 | } |
379 | 377 | ||
380 | init_timer(&timer); | ||
381 | timer.function = wdt_timer_ping; | ||
382 | timer.data = 0; | ||
383 | |||
384 | rc = misc_register(&wdt_miscdev); | 378 | rc = misc_register(&wdt_miscdev); |
385 | if (rc) | 379 | if (rc) |
386 | { | 380 | { |