diff options
author | Ingo Molnar <mingo@elte.hu> | 2005-09-09 16:10:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 17:03:48 -0400 |
commit | 8d06afab73a75f40ae2864e6c296356bab1ab473 (patch) | |
tree | 1d9c8c24a1024a12a4e8df841fba5809fa914356 | |
parent | 7c352bdf048811b8128019ffc1e886161e09c11c (diff) |
[PATCH] timer initialization cleanup: DEFINE_TIMER
Clean up timer initialization by introducing DEFINE_TIMER a'la
DEFINE_SPINLOCK. Build and boot-tested on x86. A similar patch has been
been in the -RT tree for some time.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
45 files changed, 62 insertions, 89 deletions
diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c index eefea7c55008..2883a4d4f01f 100644 --- a/arch/i386/kernel/time.c +++ b/arch/i386/kernel/time.c | |||
@@ -329,8 +329,7 @@ EXPORT_SYMBOL(get_cmos_time); | |||
329 | 329 | ||
330 | static void sync_cmos_clock(unsigned long dummy); | 330 | static void sync_cmos_clock(unsigned long dummy); |
331 | 331 | ||
332 | static struct timer_list sync_cmos_timer = | 332 | static DEFINE_TIMER(sync_cmos_timer, sync_cmos_clock, 0, 0); |
333 | TIMER_INITIALIZER(sync_cmos_clock, 0, 0); | ||
334 | 333 | ||
335 | static void sync_cmos_clock(unsigned long dummy) | 334 | static void sync_cmos_clock(unsigned long dummy) |
336 | { | 335 | { |
diff --git a/arch/m68k/amiga/amisound.c b/arch/m68k/amiga/amisound.c index cb5d93630467..bd5d134e9f12 100644 --- a/arch/m68k/amiga/amisound.c +++ b/arch/m68k/amiga/amisound.c | |||
@@ -63,7 +63,7 @@ void __init amiga_init_sound(void) | |||
63 | } | 63 | } |
64 | 64 | ||
65 | static void nosound( unsigned long ignored ); | 65 | static void nosound( unsigned long ignored ); |
66 | static struct timer_list sound_timer = TIMER_INITIALIZER(nosound, 0, 0); | 66 | static DEFINE_TIMER(sound_timer, nosound, 0, 0); |
67 | 67 | ||
68 | void amiga_mksound( unsigned int hz, unsigned int ticks ) | 68 | void amiga_mksound( unsigned int hz, unsigned int ticks ) |
69 | { | 69 | { |
diff --git a/arch/m68k/mac/macboing.c b/arch/m68k/mac/macboing.c index 44c5cd2ad6a8..8f0640847ad2 100644 --- a/arch/m68k/mac/macboing.c +++ b/arch/m68k/mac/macboing.c | |||
@@ -56,8 +56,7 @@ static void ( *mac_special_bell )( unsigned int, unsigned int, unsigned int ); | |||
56 | /* | 56 | /* |
57 | * our timer to start/continue/stop the bell | 57 | * our timer to start/continue/stop the bell |
58 | */ | 58 | */ |
59 | static struct timer_list mac_sound_timer = | 59 | static DEFINE_TIMER(mac_sound_timer, mac_nosound, 0, 0); |
60 | TIMER_INITIALIZER(mac_nosound, 0, 0); | ||
61 | 60 | ||
62 | /* | 61 | /* |
63 | * Sort of initialize the sound chip (called from mac_mksound on the first | 62 | * Sort of initialize the sound chip (called from mac_mksound on the first |
diff --git a/arch/ppc/8xx_io/cs4218_tdm.c b/arch/ppc/8xx_io/cs4218_tdm.c index 89fe0ceeaa40..2ca9ec7ec3a7 100644 --- a/arch/ppc/8xx_io/cs4218_tdm.c +++ b/arch/ppc/8xx_io/cs4218_tdm.c | |||
@@ -1380,7 +1380,7 @@ static void cs_nosound(unsigned long xx) | |||
1380 | spin_unlock_irqrestore(&cs4218_lock, flags); | 1380 | spin_unlock_irqrestore(&cs4218_lock, flags); |
1381 | } | 1381 | } |
1382 | 1382 | ||
1383 | static struct timer_list beep_timer = TIMER_INITIALIZER(cs_nosound, 0, 0); | 1383 | static DEFINE_TIMER(beep_timer, cs_nosound, 0, 0); |
1384 | }; | 1384 | }; |
1385 | 1385 | ||
1386 | static void cs_mksound(unsigned int hz, unsigned int ticks) | 1386 | static void cs_mksound(unsigned int hz, unsigned int ticks) |
diff --git a/drivers/acorn/block/fd1772.c b/drivers/acorn/block/fd1772.c index c0a37d98b4f3..048542341204 100644 --- a/drivers/acorn/block/fd1772.c +++ b/drivers/acorn/block/fd1772.c | |||
@@ -376,19 +376,15 @@ static void do_fd_request(request_queue_t *); | |||
376 | 376 | ||
377 | /************************* End of Prototypes **************************/ | 377 | /************************* End of Prototypes **************************/ |
378 | 378 | ||
379 | static struct timer_list motor_off_timer = | 379 | static DEFINE_TIMER(motor_off_timer, fd_motor_off_timer, 0, 0); |
380 | TIMER_INITIALIZER(fd_motor_off_timer, 0, 0); | ||
381 | 380 | ||
382 | #ifdef TRACKBUFFER | 381 | #ifdef TRACKBUFFER |
383 | static struct timer_list readtrack_timer = | 382 | static DEFINE_TIMER(readtrack_timer, fd_readtrack_check, 0, 0); |
384 | TIMER_INITIALIZER(fd_readtrack_check, 0, 0); | ||
385 | #endif | 383 | #endif |
386 | 384 | ||
387 | static struct timer_list timeout_timer = | 385 | static DEFINE_TIMER(timeout_timer, fd_times_out, 0, 0); |
388 | TIMER_INITIALIZER(fd_times_out, 0, 0); | ||
389 | 386 | ||
390 | static struct timer_list fd_timer = | 387 | static DEFINE_TIMER(fd_timer, check_change, 0, 0); |
391 | TIMER_INITIALIZER(check_change, 0, 0); | ||
392 | 388 | ||
393 | /* DAG: Haven't got a clue what this is? */ | 389 | /* DAG: Haven't got a clue what this is? */ |
394 | int stdma_islocked(void) | 390 | int stdma_islocked(void) |
diff --git a/drivers/atm/idt77105.c b/drivers/atm/idt77105.c index b8c260ed4b27..0aabfc2a59d9 100644 --- a/drivers/atm/idt77105.c +++ b/drivers/atm/idt77105.c | |||
@@ -50,10 +50,8 @@ static void idt77105_stats_timer_func(unsigned long); | |||
50 | static void idt77105_restart_timer_func(unsigned long); | 50 | static void idt77105_restart_timer_func(unsigned long); |
51 | 51 | ||
52 | 52 | ||
53 | static struct timer_list stats_timer = | 53 | static DEFINE_TIMER(stats_timer, idt77105_stats_timer_func, 0, 0); |
54 | TIMER_INITIALIZER(idt77105_stats_timer_func, 0, 0); | 54 | static DEFINE_TIMER(restart_timer, idt77105_restart_timer_func, 0, 0); |
55 | static struct timer_list restart_timer = | ||
56 | TIMER_INITIALIZER(idt77105_restart_timer_func, 0, 0); | ||
57 | static int start_timer = 1; | 55 | static int start_timer = 1; |
58 | static struct idt77105_priv *idt77105_all = NULL; | 56 | static struct idt77105_priv *idt77105_all = NULL; |
59 | 57 | ||
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c index a43575acb2c1..2e2e50e1167a 100644 --- a/drivers/atm/iphase.c +++ b/drivers/atm/iphase.c | |||
@@ -79,7 +79,7 @@ static IADEV *ia_dev[8]; | |||
79 | static struct atm_dev *_ia_dev[8]; | 79 | static struct atm_dev *_ia_dev[8]; |
80 | static int iadev_count; | 80 | static int iadev_count; |
81 | static void ia_led_timer(unsigned long arg); | 81 | static void ia_led_timer(unsigned long arg); |
82 | static struct timer_list ia_timer = TIMER_INITIALIZER(ia_led_timer, 0, 0); | 82 | static DEFINE_TIMER(ia_timer, ia_led_timer, 0, 0); |
83 | static int IA_TX_BUF = DFL_TX_BUFFERS, IA_TX_BUF_SZ = DFL_TX_BUF_SZ; | 83 | static int IA_TX_BUF = DFL_TX_BUFFERS, IA_TX_BUF_SZ = DFL_TX_BUF_SZ; |
84 | static int IA_RX_BUF = DFL_RX_BUFFERS, IA_RX_BUF_SZ = DFL_RX_BUF_SZ; | 84 | static int IA_RX_BUF = DFL_RX_BUFFERS, IA_RX_BUF_SZ = DFL_RX_BUF_SZ; |
85 | static uint IADebugFlag = /* IF_IADBG_ERR | IF_IADBG_CBR| IF_IADBG_INIT_ADAPTER | 85 | static uint IADebugFlag = /* IF_IADBG_ERR | IF_IADBG_CBR| IF_IADBG_INIT_ADAPTER |
diff --git a/drivers/block/acsi.c b/drivers/block/acsi.c index ce933de48084..0e1f34fef0c8 100644 --- a/drivers/block/acsi.c +++ b/drivers/block/acsi.c | |||
@@ -371,7 +371,7 @@ static int acsi_revalidate (struct gendisk *disk); | |||
371 | /************************* End of Prototypes **************************/ | 371 | /************************* End of Prototypes **************************/ |
372 | 372 | ||
373 | 373 | ||
374 | struct timer_list acsi_timer = TIMER_INITIALIZER(acsi_times_out, 0, 0); | 374 | DEFINE_TIMER(acsi_timer, acsi_times_out, 0, 0); |
375 | 375 | ||
376 | 376 | ||
377 | #ifdef CONFIG_ATARI_SLM | 377 | #ifdef CONFIG_ATARI_SLM |
diff --git a/drivers/block/acsi_slm.c b/drivers/block/acsi_slm.c index e3be8c31a74c..a5c1c8e871ec 100644 --- a/drivers/block/acsi_slm.c +++ b/drivers/block/acsi_slm.c | |||
@@ -268,7 +268,7 @@ static int slm_get_pagesize( int device, int *w, int *h ); | |||
268 | /************************* End of Prototypes **************************/ | 268 | /************************* End of Prototypes **************************/ |
269 | 269 | ||
270 | 270 | ||
271 | static struct timer_list slm_timer = TIMER_INITIALIZER(slm_test_ready, 0, 0); | 271 | static DEFINE_TIMER(slm_timer, slm_test_ready, 0, 0); |
272 | 272 | ||
273 | static struct file_operations slm_fops = { | 273 | static struct file_operations slm_fops = { |
274 | .owner = THIS_MODULE, | 274 | .owner = THIS_MODULE, |
diff --git a/drivers/block/ataflop.c b/drivers/block/ataflop.c index db05a5a99f35..22bda05fc693 100644 --- a/drivers/block/ataflop.c +++ b/drivers/block/ataflop.c | |||
@@ -371,16 +371,10 @@ static int floppy_release( struct inode * inode, struct file * filp ); | |||
371 | 371 | ||
372 | /************************* End of Prototypes **************************/ | 372 | /************************* End of Prototypes **************************/ |
373 | 373 | ||
374 | static struct timer_list motor_off_timer = | 374 | static DEFINE_TIMER(motor_off_timer, fd_motor_off_timer, 0, 0); |
375 | TIMER_INITIALIZER(fd_motor_off_timer, 0, 0); | 375 | static DEFINE_TIMER(readtrack_timer, fd_readtrack_check, 0, 0); |
376 | static struct timer_list readtrack_timer = | 376 | static DEFINE_TIMER(timeout_timer, fd_times_out, 0, 0); |
377 | TIMER_INITIALIZER(fd_readtrack_check, 0, 0); | 377 | static DEFINE_TIMER(fd_timer, check_change, 0, 0); |
378 | |||
379 | static struct timer_list timeout_timer = | ||
380 | TIMER_INITIALIZER(fd_times_out, 0, 0); | ||
381 | |||
382 | static struct timer_list fd_timer = | ||
383 | TIMER_INITIALIZER(check_change, 0, 0); | ||
384 | 378 | ||
385 | static inline void start_motor_off_timer(void) | 379 | static inline void start_motor_off_timer(void) |
386 | { | 380 | { |
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 888dad5eef34..00895477155e 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c | |||
@@ -628,7 +628,7 @@ static inline void debugt(const char *message) { } | |||
628 | #endif /* DEBUGT */ | 628 | #endif /* DEBUGT */ |
629 | 629 | ||
630 | typedef void (*timeout_fn) (unsigned long); | 630 | typedef void (*timeout_fn) (unsigned long); |
631 | static struct timer_list fd_timeout = TIMER_INITIALIZER(floppy_shutdown, 0, 0); | 631 | static DEFINE_TIMER(fd_timeout, floppy_shutdown, 0, 0); |
632 | 632 | ||
633 | static const char *timeout_message; | 633 | static const char *timeout_message; |
634 | 634 | ||
@@ -1012,7 +1012,7 @@ static void schedule_bh(void (*handler) (void)) | |||
1012 | schedule_work(&floppy_work); | 1012 | schedule_work(&floppy_work); |
1013 | } | 1013 | } |
1014 | 1014 | ||
1015 | static struct timer_list fd_timer = TIMER_INITIALIZER(NULL, 0, 0); | 1015 | static DEFINE_TIMER(fd_timer, NULL, 0, 0); |
1016 | 1016 | ||
1017 | static void cancel_activity(void) | 1017 | static void cancel_activity(void) |
1018 | { | 1018 | { |
diff --git a/drivers/block/ps2esdi.c b/drivers/block/ps2esdi.c index 29548784cb7b..29d1518be72a 100644 --- a/drivers/block/ps2esdi.c +++ b/drivers/block/ps2esdi.c | |||
@@ -99,8 +99,7 @@ static DECLARE_WAIT_QUEUE_HEAD(ps2esdi_int); | |||
99 | static int no_int_yet; | 99 | static int no_int_yet; |
100 | static int ps2esdi_drives; | 100 | static int ps2esdi_drives; |
101 | static u_short io_base; | 101 | static u_short io_base; |
102 | static struct timer_list esdi_timer = | 102 | static DEFINE_TIMER(esdi_timer, ps2esdi_reset_timer, 0, 0); |
103 | TIMER_INITIALIZER(ps2esdi_reset_timer, 0, 0); | ||
104 | static int reset_status; | 103 | static int reset_status; |
105 | static int ps2esdi_slot = -1; | 104 | static int ps2esdi_slot = -1; |
106 | static int tp720esdi = 0; /* Is it Integrated ESDI of ThinkPad-720? */ | 105 | static int tp720esdi = 0; /* Is it Integrated ESDI of ThinkPad-720? */ |
diff --git a/drivers/cdrom/aztcd.c b/drivers/cdrom/aztcd.c index 43bf1e5dc38a..ce4a1ce59d6a 100644 --- a/drivers/cdrom/aztcd.c +++ b/drivers/cdrom/aztcd.c | |||
@@ -297,7 +297,7 @@ static char azt_auto_eject = AZT_AUTO_EJECT; | |||
297 | 297 | ||
298 | static int AztTimeout, AztTries; | 298 | static int AztTimeout, AztTries; |
299 | static DECLARE_WAIT_QUEUE_HEAD(azt_waitq); | 299 | static DECLARE_WAIT_QUEUE_HEAD(azt_waitq); |
300 | static struct timer_list delay_timer = TIMER_INITIALIZER(NULL, 0, 0); | 300 | static DEFINE_TIMER(delay_timer, NULL, 0, 0); |
301 | 301 | ||
302 | static struct azt_DiskInfo DiskInfo; | 302 | static struct azt_DiskInfo DiskInfo; |
303 | static struct azt_Toc Toc[MAX_TRACKS]; | 303 | static struct azt_Toc Toc[MAX_TRACKS]; |
diff --git a/drivers/cdrom/gscd.c b/drivers/cdrom/gscd.c index 7eac10e63b23..ad5464ab99bc 100644 --- a/drivers/cdrom/gscd.c +++ b/drivers/cdrom/gscd.c | |||
@@ -146,7 +146,7 @@ static int AudioStart_f; | |||
146 | static int AudioEnd_m; | 146 | static int AudioEnd_m; |
147 | static int AudioEnd_f; | 147 | static int AudioEnd_f; |
148 | 148 | ||
149 | static struct timer_list gscd_timer = TIMER_INITIALIZER(NULL, 0, 0); | 149 | static DEFINE_TIMER(gscd_timer, NULL, 0, 0); |
150 | static DEFINE_SPINLOCK(gscd_lock); | 150 | static DEFINE_SPINLOCK(gscd_lock); |
151 | static struct request_queue *gscd_queue; | 151 | static struct request_queue *gscd_queue; |
152 | 152 | ||
diff --git a/drivers/cdrom/optcd.c b/drivers/cdrom/optcd.c index 351a01dd503a..0b0eab4f40fa 100644 --- a/drivers/cdrom/optcd.c +++ b/drivers/cdrom/optcd.c | |||
@@ -264,7 +264,7 @@ static inline int flag_low(int flag, unsigned long timeout) | |||
264 | static int sleep_timeout; /* max # of ticks to sleep */ | 264 | static int sleep_timeout; /* max # of ticks to sleep */ |
265 | static DECLARE_WAIT_QUEUE_HEAD(waitq); | 265 | static DECLARE_WAIT_QUEUE_HEAD(waitq); |
266 | static void sleep_timer(unsigned long data); | 266 | static void sleep_timer(unsigned long data); |
267 | static struct timer_list delay_timer = TIMER_INITIALIZER(sleep_timer, 0, 0); | 267 | static DEFINE_TIMER(delay_timer, sleep_timer, 0, 0); |
268 | static DEFINE_SPINLOCK(optcd_lock); | 268 | static DEFINE_SPINLOCK(optcd_lock); |
269 | static struct request_queue *opt_queue; | 269 | static struct request_queue *opt_queue; |
270 | 270 | ||
diff --git a/drivers/cdrom/sbpcd.c b/drivers/cdrom/sbpcd.c index 452d34675159..30a897755361 100644 --- a/drivers/cdrom/sbpcd.c +++ b/drivers/cdrom/sbpcd.c | |||
@@ -742,13 +742,10 @@ static struct sbpcd_drive *current_drive = D_S; | |||
742 | unsigned long cli_sti; /* for saving the processor flags */ | 742 | unsigned long cli_sti; /* for saving the processor flags */ |
743 | #endif | 743 | #endif |
744 | /*==========================================================================*/ | 744 | /*==========================================================================*/ |
745 | static struct timer_list delay_timer = | 745 | static DEFINE_TIMER(delay_timer, mark_timeout_delay, 0, 0); |
746 | TIMER_INITIALIZER(mark_timeout_delay, 0, 0); | 746 | static DEFINE_TIMER(data_timer, mark_timeout_data, 0, 0); |
747 | static struct timer_list data_timer = | ||
748 | TIMER_INITIALIZER(mark_timeout_data, 0, 0); | ||
749 | #if 0 | 747 | #if 0 |
750 | static struct timer_list audio_timer = | 748 | static DEFINE_TIMER(audio_timer, mark_timeout_audio, 0, 0); |
751 | TIMER_INITIALIZER(mark_timeout_audio, 0, 0); | ||
752 | #endif | 749 | #endif |
753 | /*==========================================================================*/ | 750 | /*==========================================================================*/ |
754 | /* | 751 | /* |
diff --git a/drivers/cdrom/sjcd.c b/drivers/cdrom/sjcd.c index 4e7a342ec36f..74b1cadbf161 100644 --- a/drivers/cdrom/sjcd.c +++ b/drivers/cdrom/sjcd.c | |||
@@ -151,7 +151,7 @@ static struct sjcd_stat statistic; | |||
151 | /* | 151 | /* |
152 | * Timer. | 152 | * Timer. |
153 | */ | 153 | */ |
154 | static struct timer_list sjcd_delay_timer = TIMER_INITIALIZER(NULL, 0, 0); | 154 | static DEFINE_TIMER(sjcd_delay_timer, NULL, 0, 0); |
155 | 155 | ||
156 | #define SJCD_SET_TIMER( func, tmout ) \ | 156 | #define SJCD_SET_TIMER( func, tmout ) \ |
157 | ( sjcd_delay_timer.expires = jiffies+tmout, \ | 157 | ( sjcd_delay_timer.expires = jiffies+tmout, \ |
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index 6a5337bf0936..cf4c3648463d 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c | |||
@@ -865,7 +865,7 @@ static void cyz_poll(unsigned long); | |||
865 | static long cyz_polling_cycle = CZ_DEF_POLL; | 865 | static long cyz_polling_cycle = CZ_DEF_POLL; |
866 | 866 | ||
867 | static int cyz_timeron = 0; | 867 | static int cyz_timeron = 0; |
868 | static struct timer_list cyz_timerlist = TIMER_INITIALIZER(cyz_poll, 0, 0); | 868 | static DEFINE_TIMER(cyz_timerlist, cyz_poll, 0, 0); |
869 | 869 | ||
870 | #else /* CONFIG_CYZ_INTR */ | 870 | #else /* CONFIG_CYZ_INTR */ |
871 | static void cyz_rx_restart(unsigned long); | 871 | static void cyz_rx_restart(unsigned long); |
diff --git a/drivers/char/hangcheck-timer.c b/drivers/char/hangcheck-timer.c index 81d811edf3c5..a54bc93353af 100644 --- a/drivers/char/hangcheck-timer.c +++ b/drivers/char/hangcheck-timer.c | |||
@@ -149,8 +149,7 @@ static unsigned long long hangcheck_tsc, hangcheck_tsc_margin; | |||
149 | 149 | ||
150 | static void hangcheck_fire(unsigned long); | 150 | static void hangcheck_fire(unsigned long); |
151 | 151 | ||
152 | static struct timer_list hangcheck_ticktock = | 152 | static DEFINE_TIMER(hangcheck_ticktock, hangcheck_fire, 0, 0); |
153 | TIMER_INITIALIZER(hangcheck_fire, 0, 0); | ||
154 | 153 | ||
155 | 154 | ||
156 | static void hangcheck_fire(unsigned long data) | 155 | static void hangcheck_fire(unsigned long data) |
diff --git a/drivers/char/ip2main.c b/drivers/char/ip2main.c index 066d7b5cb76d..9e4e26aef94e 100644 --- a/drivers/char/ip2main.c +++ b/drivers/char/ip2main.c | |||
@@ -254,7 +254,7 @@ static unsigned long bh_counter = 0; | |||
254 | * selected, the board is serviced periodically to see if anything needs doing. | 254 | * selected, the board is serviced periodically to see if anything needs doing. |
255 | */ | 255 | */ |
256 | #define POLL_TIMEOUT (jiffies + 1) | 256 | #define POLL_TIMEOUT (jiffies + 1) |
257 | static struct timer_list PollTimer = TIMER_INITIALIZER(ip2_poll, 0, 0); | 257 | static DEFINE_TIMER(PollTimer, ip2_poll, 0, 0); |
258 | static char TimerOn; | 258 | static char TimerOn; |
259 | 259 | ||
260 | #ifdef IP2DEBUG_TRACE | 260 | #ifdef IP2DEBUG_TRACE |
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c index 52a073eee201..9c19e5435a11 100644 --- a/drivers/char/istallion.c +++ b/drivers/char/istallion.c | |||
@@ -780,7 +780,7 @@ static struct file_operations stli_fsiomem = { | |||
780 | * much cheaper on host cpu than using interrupts. It turns out to | 780 | * much cheaper on host cpu than using interrupts. It turns out to |
781 | * not increase character latency by much either... | 781 | * not increase character latency by much either... |
782 | */ | 782 | */ |
783 | static struct timer_list stli_timerlist = TIMER_INITIALIZER(stli_poll, 0, 0); | 783 | static DEFINE_TIMER(stli_timerlist, stli_poll, 0, 0); |
784 | 784 | ||
785 | static int stli_timeron; | 785 | static int stli_timeron; |
786 | 786 | ||
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c index 523fd3c8bbaa..1745065d8f78 100644 --- a/drivers/char/keyboard.c +++ b/drivers/char/keyboard.c | |||
@@ -233,8 +233,7 @@ static void kd_nosound(unsigned long ignored) | |||
233 | } | 233 | } |
234 | } | 234 | } |
235 | 235 | ||
236 | static struct timer_list kd_mksound_timer = | 236 | static DEFINE_TIMER(kd_mksound_timer, kd_nosound, 0, 0); |
237 | TIMER_INITIALIZER(kd_nosound, 0, 0); | ||
238 | 237 | ||
239 | void kd_mksound(unsigned int hz, unsigned int ticks) | 238 | void kd_mksound(unsigned int hz, unsigned int ticks) |
240 | { | 239 | { |
diff --git a/drivers/char/watchdog/mixcomwd.c b/drivers/char/watchdog/mixcomwd.c index c9b301dccec3..7fc2188386d9 100644 --- a/drivers/char/watchdog/mixcomwd.c +++ b/drivers/char/watchdog/mixcomwd.c | |||
@@ -59,7 +59,7 @@ static unsigned long mixcomwd_opened; /* long req'd for setbit --RR */ | |||
59 | 59 | ||
60 | static int watchdog_port; | 60 | static int watchdog_port; |
61 | static int mixcomwd_timer_alive; | 61 | static int mixcomwd_timer_alive; |
62 | static struct timer_list mixcomwd_timer = TIMER_INITIALIZER(NULL, 0, 0); | 62 | static DEFINE_TIMER(mixcomwd_timer, NULL, 0, 0); |
63 | static char expect_close; | 63 | static char expect_close; |
64 | 64 | ||
65 | static int nowayout = WATCHDOG_NOWAYOUT; | 65 | static int nowayout = WATCHDOG_NOWAYOUT; |
diff --git a/drivers/net/atari_bionet.c b/drivers/net/atari_bionet.c index 1798ce7262c9..0095384ff454 100644 --- a/drivers/net/atari_bionet.c +++ b/drivers/net/atari_bionet.c | |||
@@ -155,7 +155,7 @@ static int bionet_close(struct net_device *dev); | |||
155 | static struct net_device_stats *net_get_stats(struct net_device *dev); | 155 | static struct net_device_stats *net_get_stats(struct net_device *dev); |
156 | static void bionet_tick(unsigned long); | 156 | static void bionet_tick(unsigned long); |
157 | 157 | ||
158 | static struct timer_list bionet_timer = TIMER_INITIALIZER(bionet_tick, 0, 0); | 158 | static DEFINE_TIMER(bionet_timer, bionet_tick, 0, 0); |
159 | 159 | ||
160 | #define STRAM_ADDR(a) (((a) & 0xff000000) == 0) | 160 | #define STRAM_ADDR(a) (((a) & 0xff000000) == 0) |
161 | 161 | ||
diff --git a/drivers/net/atari_pamsnet.c b/drivers/net/atari_pamsnet.c index 81c362c8cb97..8b997809f9de 100644 --- a/drivers/net/atari_pamsnet.c +++ b/drivers/net/atari_pamsnet.c | |||
@@ -165,7 +165,7 @@ static void pamsnet_tick(unsigned long); | |||
165 | 165 | ||
166 | static irqreturn_t pamsnet_intr(int irq, void *data, struct pt_regs *fp); | 166 | static irqreturn_t pamsnet_intr(int irq, void *data, struct pt_regs *fp); |
167 | 167 | ||
168 | static struct timer_list pamsnet_timer = TIMER_INITIALIZER(pamsnet_tick, 0, 0); | 168 | static DEFINE_TIMER(pamsnet_timer, pamsnet_tick, 0, 0); |
169 | 169 | ||
170 | #define STRAM_ADDR(a) (((a) & 0xff000000) == 0) | 170 | #define STRAM_ADDR(a) (((a) & 0xff000000) == 0) |
171 | 171 | ||
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c index 442670860fca..b68b9cad76e9 100644 --- a/drivers/net/cris/eth_v10.c +++ b/drivers/net/cris/eth_v10.c | |||
@@ -384,8 +384,8 @@ static unsigned int mdio_phy_addr; /* Transciever address */ | |||
384 | static unsigned int network_tr_ctrl_shadow = 0; | 384 | static unsigned int network_tr_ctrl_shadow = 0; |
385 | 385 | ||
386 | /* Network speed indication. */ | 386 | /* Network speed indication. */ |
387 | static struct timer_list speed_timer = TIMER_INITIALIZER(NULL, 0, 0); | 387 | static DEFINE_TIMER(speed_timer, NULL, 0, 0); |
388 | static struct timer_list clear_led_timer = TIMER_INITIALIZER(NULL, 0, 0); | 388 | static DEFINE_TIMER(clear_led_timer, NULL, 0, 0); |
389 | static int current_speed; /* Speed read from transceiver */ | 389 | static int current_speed; /* Speed read from transceiver */ |
390 | static int current_speed_selection; /* Speed selected by user */ | 390 | static int current_speed_selection; /* Speed selected by user */ |
391 | static unsigned long led_next_time; | 391 | static unsigned long led_next_time; |
@@ -393,7 +393,7 @@ static int led_active; | |||
393 | static int rx_queue_len; | 393 | static int rx_queue_len; |
394 | 394 | ||
395 | /* Duplex */ | 395 | /* Duplex */ |
396 | static struct timer_list duplex_timer = TIMER_INITIALIZER(NULL, 0, 0); | 396 | static DEFINE_TIMER(duplex_timer, NULL, 0, 0); |
397 | static int full_duplex; | 397 | static int full_duplex; |
398 | static enum duplex current_duplex; | 398 | static enum duplex current_duplex; |
399 | 399 | ||
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c index 41213ef602dc..f52ee3162c51 100644 --- a/drivers/net/hamradio/yam.c +++ b/drivers/net/hamradio/yam.c | |||
@@ -170,7 +170,7 @@ static char ax25_bcast[7] = | |||
170 | static char ax25_test[7] = | 170 | static char ax25_test[7] = |
171 | {'L' << 1, 'I' << 1, 'N' << 1, 'U' << 1, 'X' << 1, ' ' << 1, '1' << 1}; | 171 | {'L' << 1, 'I' << 1, 'N' << 1, 'U' << 1, 'X' << 1, ' ' << 1, '1' << 1}; |
172 | 172 | ||
173 | static struct timer_list yam_timer = TIMER_INITIALIZER(NULL, 0, 0); | 173 | static DEFINE_TIMER(yam_timer, NULL, 0, 0); |
174 | 174 | ||
175 | /* --------------------------------------------------------------------- */ | 175 | /* --------------------------------------------------------------------- */ |
176 | 176 | ||
diff --git a/drivers/sbus/char/aurora.c b/drivers/sbus/char/aurora.c index d96cc47de566..672f9f2b2163 100644 --- a/drivers/sbus/char/aurora.c +++ b/drivers/sbus/char/aurora.c | |||
@@ -871,8 +871,7 @@ static irqreturn_t aurora_interrupt(int irq, void * dev_id, struct pt_regs * reg | |||
871 | #ifdef AURORA_INT_DEBUG | 871 | #ifdef AURORA_INT_DEBUG |
872 | static void aurora_timer (unsigned long ignored); | 872 | static void aurora_timer (unsigned long ignored); |
873 | 873 | ||
874 | static struct timer_list aurora_poll_timer = | 874 | static DEFINE_TIMER(aurora_poll_timer, aurora_timer, 0, 0); |
875 | TIMER_INITIALIZER(aurora_timer, 0, 0); | ||
876 | 875 | ||
877 | static void | 876 | static void |
878 | aurora_timer (unsigned long ignored) | 877 | aurora_timer (unsigned long ignored) |
diff --git a/drivers/scsi/pluto.c b/drivers/scsi/pluto.c index 623082d3a83f..c89da7d5b6df 100644 --- a/drivers/scsi/pluto.c +++ b/drivers/scsi/pluto.c | |||
@@ -95,8 +95,7 @@ int __init pluto_detect(Scsi_Host_Template *tpnt) | |||
95 | int i, retry, nplutos; | 95 | int i, retry, nplutos; |
96 | fc_channel *fc; | 96 | fc_channel *fc; |
97 | Scsi_Device dev; | 97 | Scsi_Device dev; |
98 | struct timer_list fc_timer = | 98 | DEFINE_TIMER(fc_timer, pluto_detect_timeout, 0, 0); |
99 | TIMER_INITIALIZER(pluto_detect_timeout, 0, 0); | ||
100 | 99 | ||
101 | tpnt->proc_name = "pluto"; | 100 | tpnt->proc_name = "pluto"; |
102 | fcscount = 0; | 101 | fcscount = 0; |
diff --git a/drivers/usb/host/hc_crisv10.c b/drivers/usb/host/hc_crisv10.c index 81f8f6b7fdce..a8267cf17db4 100644 --- a/drivers/usb/host/hc_crisv10.c +++ b/drivers/usb/host/hc_crisv10.c | |||
@@ -178,8 +178,8 @@ static __u8 root_hub_hub_des[] = | |||
178 | 0xff /* __u8 PortPwrCtrlMask; *** 7 ports max *** */ | 178 | 0xff /* __u8 PortPwrCtrlMask; *** 7 ports max *** */ |
179 | }; | 179 | }; |
180 | 180 | ||
181 | static struct timer_list bulk_start_timer = TIMER_INITIALIZER(NULL, 0, 0); | 181 | static DEFINE_TIMER(bulk_start_timer, NULL, 0, 0); |
182 | static struct timer_list bulk_eot_timer = TIMER_INITIALIZER(NULL, 0, 0); | 182 | static DEFINE_TIMER(bulk_eot_timer, NULL, 0, 0); |
183 | 183 | ||
184 | /* We want the start timer to expire before the eot timer, because the former might start | 184 | /* We want the start timer to expire before the eot timer, because the former might start |
185 | traffic, thus making it unnecessary for the latter to time out. */ | 185 | traffic, thus making it unnecessary for the latter to time out. */ |
diff --git a/include/linux/timer.h b/include/linux/timer.h index 221f81ac2002..3340f3bd135d 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h | |||
@@ -32,6 +32,10 @@ extern struct timer_base_s __init_timer_base; | |||
32 | .magic = TIMER_MAGIC, \ | 32 | .magic = TIMER_MAGIC, \ |
33 | } | 33 | } |
34 | 34 | ||
35 | #define DEFINE_TIMER(_name, _function, _expires, _data) \ | ||
36 | struct timer_list _name = \ | ||
37 | TIMER_INITIALIZER(_function, _expires, _data) | ||
38 | |||
35 | void fastcall init_timer(struct timer_list * timer); | 39 | void fastcall init_timer(struct timer_list * timer); |
36 | 40 | ||
37 | /*** | 41 | /*** |
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index a6329fa8f862..0166ea15c9ee 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -368,10 +368,8 @@ int wakeup_pdflush(long nr_pages) | |||
368 | static void wb_timer_fn(unsigned long unused); | 368 | static void wb_timer_fn(unsigned long unused); |
369 | static void laptop_timer_fn(unsigned long unused); | 369 | static void laptop_timer_fn(unsigned long unused); |
370 | 370 | ||
371 | static struct timer_list wb_timer = | 371 | static DEFINE_TIMER(wb_timer, wb_timer_fn, 0, 0); |
372 | TIMER_INITIALIZER(wb_timer_fn, 0, 0); | 372 | static DEFINE_TIMER(laptop_mode_wb_timer, laptop_timer_fn, 0, 0); |
373 | static struct timer_list laptop_mode_wb_timer = | ||
374 | TIMER_INITIALIZER(laptop_timer_fn, 0, 0); | ||
375 | 373 | ||
376 | /* | 374 | /* |
377 | * Periodic writeback of "old" data. | 375 | * Periodic writeback of "old" data. |
diff --git a/net/atm/mpc.c b/net/atm/mpc.c index 17a81ebe7e6e..526d9531411f 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c | |||
@@ -105,7 +105,7 @@ extern void mpc_proc_clean(void); | |||
105 | 105 | ||
106 | struct mpoa_client *mpcs = NULL; /* FIXME */ | 106 | struct mpoa_client *mpcs = NULL; /* FIXME */ |
107 | static struct atm_mpoa_qos *qos_head = NULL; | 107 | static struct atm_mpoa_qos *qos_head = NULL; |
108 | static struct timer_list mpc_timer = TIMER_INITIALIZER(NULL, 0, 0); | 108 | static DEFINE_TIMER(mpc_timer, NULL, 0, 0); |
109 | 109 | ||
110 | 110 | ||
111 | static struct mpoa_client *find_mpc_by_itfnum(int itf) | 111 | static struct mpoa_client *find_mpc_by_itfnum(int itf) |
diff --git a/net/core/dst.c b/net/core/dst.c index 334790da9f16..470c05bc4cb2 100644 --- a/net/core/dst.c +++ b/net/core/dst.c | |||
@@ -39,8 +39,7 @@ static unsigned long dst_gc_timer_inc = DST_GC_MAX; | |||
39 | static void dst_run_gc(unsigned long); | 39 | static void dst_run_gc(unsigned long); |
40 | static void ___dst_free(struct dst_entry * dst); | 40 | static void ___dst_free(struct dst_entry * dst); |
41 | 41 | ||
42 | static struct timer_list dst_gc_timer = | 42 | static DEFINE_TIMER(dst_gc_timer, dst_run_gc, DST_GC_MIN, 0); |
43 | TIMER_INITIALIZER(dst_run_gc, DST_GC_MIN, 0); | ||
44 | 43 | ||
45 | static void dst_run_gc(unsigned long dummy) | 44 | static void dst_run_gc(unsigned long dummy) |
46 | { | 45 | { |
diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c index 2c915f305be3..3407f190afe8 100644 --- a/net/decnet/dn_route.c +++ b/net/decnet/dn_route.c | |||
@@ -117,8 +117,7 @@ static struct dn_rt_hash_bucket *dn_rt_hash_table; | |||
117 | static unsigned dn_rt_hash_mask; | 117 | static unsigned dn_rt_hash_mask; |
118 | 118 | ||
119 | static struct timer_list dn_route_timer; | 119 | static struct timer_list dn_route_timer; |
120 | static struct timer_list dn_rt_flush_timer = | 120 | static DEFINE_TIMER(dn_rt_flush_timer, dn_run_flush, 0, 0); |
121 | TIMER_INITIALIZER(dn_run_flush, 0, 0); | ||
122 | int decnet_dst_gc_interval = 2; | 121 | int decnet_dst_gc_interval = 2; |
123 | 122 | ||
124 | static struct dst_ops dn_dst_ops = { | 123 | static struct dst_ops dn_dst_ops = { |
diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c index f84ba9c96551..2fc3fd38924f 100644 --- a/net/ipv4/inetpeer.c +++ b/net/ipv4/inetpeer.c | |||
@@ -100,8 +100,7 @@ DEFINE_SPINLOCK(inet_peer_unused_lock); | |||
100 | #define PEER_MAX_CLEANUP_WORK 30 | 100 | #define PEER_MAX_CLEANUP_WORK 30 |
101 | 101 | ||
102 | static void peer_check_expire(unsigned long dummy); | 102 | static void peer_check_expire(unsigned long dummy); |
103 | static struct timer_list peer_periodic_timer = | 103 | static DEFINE_TIMER(peer_periodic_timer, peer_check_expire, 0, 0); |
104 | TIMER_INITIALIZER(peer_check_expire, 0, 0); | ||
105 | 104 | ||
106 | /* Exported for sysctl_net_ipv4. */ | 105 | /* Exported for sysctl_net_ipv4. */ |
107 | int inet_peer_gc_mintime = 10 * HZ, | 106 | int inet_peer_gc_mintime = 10 * HZ, |
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 6d6fb74f3b52..2fea3f4402a0 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -123,8 +123,7 @@ DEFINE_RWLOCK(addrconf_lock); | |||
123 | 123 | ||
124 | static void addrconf_verify(unsigned long); | 124 | static void addrconf_verify(unsigned long); |
125 | 125 | ||
126 | static struct timer_list addr_chk_timer = | 126 | static DEFINE_TIMER(addr_chk_timer, addrconf_verify, 0, 0); |
127 | TIMER_INITIALIZER(addrconf_verify, 0, 0); | ||
128 | static DEFINE_SPINLOCK(addrconf_verify_lock); | 127 | static DEFINE_SPINLOCK(addrconf_verify_lock); |
129 | 128 | ||
130 | static void addrconf_join_anycast(struct inet6_ifaddr *ifp); | 129 | static void addrconf_join_anycast(struct inet6_ifaddr *ifp); |
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index 16af874c9e8f..4fcc5a7acf6e 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c | |||
@@ -92,7 +92,7 @@ static struct fib6_node * fib6_repair_tree(struct fib6_node *fn); | |||
92 | 92 | ||
93 | static __u32 rt_sernum; | 93 | static __u32 rt_sernum; |
94 | 94 | ||
95 | static struct timer_list ip6_fib_timer = TIMER_INITIALIZER(fib6_run_gc, 0, 0); | 95 | static DEFINE_TIMER(ip6_fib_timer, fib6_run_gc, 0, 0); |
96 | 96 | ||
97 | struct fib6_walker_t fib6_walker_list = { | 97 | struct fib6_walker_t fib6_walker_list = { |
98 | .prev = &fib6_walker_list, | 98 | .prev = &fib6_walker_list, |
diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c index a7db762de14a..f841bde30c18 100644 --- a/net/ipv6/ip6_flowlabel.c +++ b/net/ipv6/ip6_flowlabel.c | |||
@@ -50,7 +50,7 @@ static atomic_t fl_size = ATOMIC_INIT(0); | |||
50 | static struct ip6_flowlabel *fl_ht[FL_HASH_MASK+1]; | 50 | static struct ip6_flowlabel *fl_ht[FL_HASH_MASK+1]; |
51 | 51 | ||
52 | static void ip6_fl_gc(unsigned long dummy); | 52 | static void ip6_fl_gc(unsigned long dummy); |
53 | static struct timer_list ip6_fl_gc_timer = TIMER_INITIALIZER(ip6_fl_gc, 0, 0); | 53 | static DEFINE_TIMER(ip6_fl_gc_timer, ip6_fl_gc, 0, 0); |
54 | 54 | ||
55 | /* FL hash table lock: it protects only of GC */ | 55 | /* FL hash table lock: it protects only of GC */ |
56 | 56 | ||
diff --git a/net/netrom/nr_loopback.c b/net/netrom/nr_loopback.c index 165b2abce110..e856ae1b360a 100644 --- a/net/netrom/nr_loopback.c +++ b/net/netrom/nr_loopback.c | |||
@@ -17,7 +17,7 @@ | |||
17 | static void nr_loopback_timer(unsigned long); | 17 | static void nr_loopback_timer(unsigned long); |
18 | 18 | ||
19 | static struct sk_buff_head loopback_queue; | 19 | static struct sk_buff_head loopback_queue; |
20 | static struct timer_list loopback_timer = TIMER_INITIALIZER(nr_loopback_timer, 0, 0); | 20 | static DEFINE_TIMER(loopback_timer, nr_loopback_timer, 0, 0); |
21 | 21 | ||
22 | void __init nr_loopback_init(void) | 22 | void __init nr_loopback_init(void) |
23 | { | 23 | { |
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index 737681cb9a92..31570b9a6e9a 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c | |||
@@ -1194,7 +1194,7 @@ EXPORT_SYMBOL(psched_time_base); | |||
1194 | * with 32-bit get_cycles(). Safe up to 4GHz CPU. | 1194 | * with 32-bit get_cycles(). Safe up to 4GHz CPU. |
1195 | */ | 1195 | */ |
1196 | static void psched_tick(unsigned long); | 1196 | static void psched_tick(unsigned long); |
1197 | static struct timer_list psched_timer = TIMER_INITIALIZER(psched_tick, 0, 0); | 1197 | static DEFINE_TIMER(psched_timer, psched_tick, 0, 0); |
1198 | 1198 | ||
1199 | static void psched_tick(unsigned long dummy) | 1199 | static void psched_tick(unsigned long dummy) |
1200 | { | 1200 | { |
diff --git a/sound/oss/midibuf.c b/sound/oss/midibuf.c index b2676fa34630..6982556ded56 100644 --- a/sound/oss/midibuf.c +++ b/sound/oss/midibuf.c | |||
@@ -50,7 +50,7 @@ static struct midi_parms parms[MAX_MIDI_DEV]; | |||
50 | static void midi_poll(unsigned long dummy); | 50 | static void midi_poll(unsigned long dummy); |
51 | 51 | ||
52 | 52 | ||
53 | static struct timer_list poll_timer = TIMER_INITIALIZER(midi_poll, 0, 0); | 53 | static DEFINE_TIMER(poll_timer, midi_poll, 0, 0); |
54 | 54 | ||
55 | static volatile int open_devs; | 55 | static volatile int open_devs; |
56 | static DEFINE_SPINLOCK(lock); | 56 | static DEFINE_SPINLOCK(lock); |
diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c index a686be936aff..95fa81e26de2 100644 --- a/sound/oss/soundcard.c +++ b/sound/oss/soundcard.c | |||
@@ -681,8 +681,7 @@ static void do_sequencer_timer(unsigned long dummy) | |||
681 | } | 681 | } |
682 | 682 | ||
683 | 683 | ||
684 | static struct timer_list seq_timer = | 684 | static DEFINE_TIMER(seq_timer, do_sequencer_timer, 0, 0); |
685 | TIMER_INITIALIZER(do_sequencer_timer, 0, 0); | ||
686 | 685 | ||
687 | void request_sound_timer(int count) | 686 | void request_sound_timer(int count) |
688 | { | 687 | { |
diff --git a/sound/oss/sys_timer.c b/sound/oss/sys_timer.c index 6afe29b763b7..c9d04518b172 100644 --- a/sound/oss/sys_timer.c +++ b/sound/oss/sys_timer.c | |||
@@ -28,8 +28,7 @@ static unsigned long prev_event_time; | |||
28 | 28 | ||
29 | static void poll_def_tmr(unsigned long dummy); | 29 | static void poll_def_tmr(unsigned long dummy); |
30 | static DEFINE_SPINLOCK(lock); | 30 | static DEFINE_SPINLOCK(lock); |
31 | 31 | static DEFINE_TIMER(def_tmr, poll_def_tmr, 0, 0); | |
32 | static struct timer_list def_tmr = TIMER_INITIALIZER(poll_def_tmr, 0, 0); | ||
33 | 32 | ||
34 | static unsigned long | 33 | static unsigned long |
35 | tmr2ticks(int tmr_value) | 34 | tmr2ticks(int tmr_value) |
diff --git a/sound/oss/uart6850.c b/sound/oss/uart6850.c index be00cf128651..74ae75f9e2dc 100644 --- a/sound/oss/uart6850.c +++ b/sound/oss/uart6850.c | |||
@@ -78,8 +78,7 @@ static void (*midi_input_intr) (int dev, unsigned char data); | |||
78 | static void poll_uart6850(unsigned long dummy); | 78 | static void poll_uart6850(unsigned long dummy); |
79 | 79 | ||
80 | 80 | ||
81 | static struct timer_list uart6850_timer = | 81 | static DEFINE_TIMER(uart6850_timer, poll_uart6850, 0, 0); |
82 | TIMER_INITIALIZER(poll_uart6850, 0, 0); | ||
83 | 82 | ||
84 | static void uart6850_input_loop(void) | 83 | static void uart6850_input_loop(void) |
85 | { | 84 | { |