diff options
author | Torben Hohn <torbenh@gmx.de> | 2011-01-27 10:00:06 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-01-31 08:55:46 -0500 |
commit | e53f276beb655c711a5d1f25f800b61aa976e34f (patch) | |
tree | 4589d54fcfedc6654bb252caed350791a29a8248 | |
parent | 7bde2ab7cb51f14c6f6574f0f5a78445f2caed3e (diff) |
m68k: Switch do_timer() to xtime_update()
xtime_update() properly takes the xtime_lock
Signed-off-by: Torben Hohn <torbenh@gmx.de>
Cc: Sam Creasey <sammy@sammy.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: johnstul@us.ibm.com
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: hch@infradead.org
Cc: yong.zhang0@gmail.com
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greg Ungerer <gerg@uclinux.org>
LKML-Reference: <20110127150006.23248.71790.stgit@localhost>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | arch/m68k/bvme6000/config.c | 4 | ||||
-rw-r--r-- | arch/m68k/kernel/time.c | 4 | ||||
-rw-r--r-- | arch/m68k/mvme147/config.c | 4 | ||||
-rw-r--r-- | arch/m68k/mvme16x/config.c | 4 | ||||
-rw-r--r-- | arch/m68k/sun3/sun3ints.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/kernel/time.c | 8 |
6 files changed, 11 insertions, 15 deletions
diff --git a/arch/m68k/bvme6000/config.c b/arch/m68k/bvme6000/config.c index 9fe6fefb5e14..1edd95095cb4 100644 --- a/arch/m68k/bvme6000/config.c +++ b/arch/m68k/bvme6000/config.c | |||
@@ -45,8 +45,8 @@ extern int bvme6000_set_clock_mmss (unsigned long); | |||
45 | extern void bvme6000_reset (void); | 45 | extern void bvme6000_reset (void); |
46 | void bvme6000_set_vectors (void); | 46 | void bvme6000_set_vectors (void); |
47 | 47 | ||
48 | /* Save tick handler routine pointer, will point to do_timer() in | 48 | /* Save tick handler routine pointer, will point to xtime_update() in |
49 | * kernel/sched.c, called via bvme6000_process_int() */ | 49 | * kernel/timer/timekeeping.c, called via bvme6000_process_int() */ |
50 | 50 | ||
51 | static irq_handler_t tick_handler; | 51 | static irq_handler_t tick_handler; |
52 | 52 | ||
diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c index 06438dac08ff..18b34ee5db3b 100644 --- a/arch/m68k/kernel/time.c +++ b/arch/m68k/kernel/time.c | |||
@@ -37,11 +37,11 @@ static inline int set_rtc_mmss(unsigned long nowtime) | |||
37 | 37 | ||
38 | /* | 38 | /* |
39 | * timer_interrupt() needs to keep up the real-time clock, | 39 | * timer_interrupt() needs to keep up the real-time clock, |
40 | * as well as call the "do_timer()" routine every clocktick | 40 | * as well as call the "xtime_update()" routine every clocktick |
41 | */ | 41 | */ |
42 | static irqreturn_t timer_interrupt(int irq, void *dummy) | 42 | static irqreturn_t timer_interrupt(int irq, void *dummy) |
43 | { | 43 | { |
44 | do_timer(1); | 44 | xtime_update(1); |
45 | update_process_times(user_mode(get_irq_regs())); | 45 | update_process_times(user_mode(get_irq_regs())); |
46 | profile_tick(CPU_PROFILING); | 46 | profile_tick(CPU_PROFILING); |
47 | 47 | ||
diff --git a/arch/m68k/mvme147/config.c b/arch/m68k/mvme147/config.c index 100baaa692a1..6cb9c3a9b6c9 100644 --- a/arch/m68k/mvme147/config.c +++ b/arch/m68k/mvme147/config.c | |||
@@ -46,8 +46,8 @@ extern void mvme147_reset (void); | |||
46 | 46 | ||
47 | static int bcd2int (unsigned char b); | 47 | static int bcd2int (unsigned char b); |
48 | 48 | ||
49 | /* Save tick handler routine pointer, will point to do_timer() in | 49 | /* Save tick handler routine pointer, will point to xtime_update() in |
50 | * kernel/sched.c, called via mvme147_process_int() */ | 50 | * kernel/time/timekeeping.c, called via mvme147_process_int() */ |
51 | 51 | ||
52 | irq_handler_t tick_handler; | 52 | irq_handler_t tick_handler; |
53 | 53 | ||
diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c index 11edf61cc2c4..0b28e2621653 100644 --- a/arch/m68k/mvme16x/config.c +++ b/arch/m68k/mvme16x/config.c | |||
@@ -51,8 +51,8 @@ extern void mvme16x_reset (void); | |||
51 | 51 | ||
52 | int bcd2int (unsigned char b); | 52 | int bcd2int (unsigned char b); |
53 | 53 | ||
54 | /* Save tick handler routine pointer, will point to do_timer() in | 54 | /* Save tick handler routine pointer, will point to xtime_update() in |
55 | * kernel/sched.c, called via mvme16x_process_int() */ | 55 | * kernel/time/timekeeping.c, called via mvme16x_process_int() */ |
56 | 56 | ||
57 | static irq_handler_t tick_handler; | 57 | static irq_handler_t tick_handler; |
58 | 58 | ||
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c index 2d9e21bd313a..6464ad3ae3e6 100644 --- a/arch/m68k/sun3/sun3ints.c +++ b/arch/m68k/sun3/sun3ints.c | |||
@@ -66,7 +66,7 @@ static irqreturn_t sun3_int5(int irq, void *dev_id) | |||
66 | #ifdef CONFIG_SUN3 | 66 | #ifdef CONFIG_SUN3 |
67 | intersil_clear(); | 67 | intersil_clear(); |
68 | #endif | 68 | #endif |
69 | do_timer(1); | 69 | xtime_update(1); |
70 | update_process_times(user_mode(get_irq_regs())); | 70 | update_process_times(user_mode(get_irq_regs())); |
71 | if (!(kstat_cpu(0).irqs[irq] % 20)) | 71 | if (!(kstat_cpu(0).irqs[irq] % 20)) |
72 | sun3_leds(led_pattern[(kstat_cpu(0).irqs[irq] % 160) / 20]); | 72 | sun3_leds(led_pattern[(kstat_cpu(0).irqs[irq] % 160) / 20]); |
diff --git a/arch/m68knommu/kernel/time.c b/arch/m68knommu/kernel/time.c index d6ac2a43453c..6623909f70e6 100644 --- a/arch/m68knommu/kernel/time.c +++ b/arch/m68knommu/kernel/time.c | |||
@@ -36,7 +36,7 @@ static inline int set_rtc_mmss(unsigned long nowtime) | |||
36 | #ifndef CONFIG_GENERIC_CLOCKEVENTS | 36 | #ifndef CONFIG_GENERIC_CLOCKEVENTS |
37 | /* | 37 | /* |
38 | * timer_interrupt() needs to keep up the real-time clock, | 38 | * timer_interrupt() needs to keep up the real-time clock, |
39 | * as well as call the "do_timer()" routine every clocktick | 39 | * as well as call the "xtime_update()" routine every clocktick |
40 | */ | 40 | */ |
41 | irqreturn_t arch_timer_interrupt(int irq, void *dummy) | 41 | irqreturn_t arch_timer_interrupt(int irq, void *dummy) |
42 | { | 42 | { |
@@ -44,11 +44,7 @@ irqreturn_t arch_timer_interrupt(int irq, void *dummy) | |||
44 | if (current->pid) | 44 | if (current->pid) |
45 | profile_tick(CPU_PROFILING); | 45 | profile_tick(CPU_PROFILING); |
46 | 46 | ||
47 | write_seqlock(&xtime_lock); | 47 | xtime_update(1); |
48 | |||
49 | do_timer(1); | ||
50 | |||
51 | write_sequnlock(&xtime_lock); | ||
52 | 48 | ||
53 | update_process_times(user_mode(get_irq_regs())); | 49 | update_process_times(user_mode(get_irq_regs())); |
54 | 50 | ||