diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-05-17 13:58:34 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-05-17 13:58:34 -0400 |
commit | bc28248ee25e5c239cbe6afca35a100b08401de5 (patch) | |
tree | 89fb6944170bc85b5c9261cd7c7dba6954994cc3 /arch/arm/include | |
parent | ee348d5a1d810bc9958cabb7c27302aab235d36e (diff) |
[ARM] smp: move core localtimer support out of platform specific files
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/localtimer.h | 51 | ||||
-rw-r--r-- | arch/arm/include/asm/smp.h | 40 |
2 files changed, 51 insertions, 40 deletions
diff --git a/arch/arm/include/asm/localtimer.h b/arch/arm/include/asm/localtimer.h new file mode 100644 index 000000000000..3f8c9ebb646c --- /dev/null +++ b/arch/arm/include/asm/localtimer.h | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * arch/arm/include/asm/localtimer.h | ||
3 | * | ||
4 | * Copyright (C) 2004-2005 ARM Ltd. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | #ifndef __ASM_ARM_LOCALTIMER_H | ||
11 | #define __ASM_ARM_LOCALTIMER_H | ||
12 | |||
13 | struct clock_event_device; | ||
14 | |||
15 | /* | ||
16 | * Setup a per-cpu timer, whether it be a local timer or dummy broadcast | ||
17 | */ | ||
18 | void percpu_timer_setup(void); | ||
19 | |||
20 | /* | ||
21 | * Called from assembly, this is the local timer IRQ handler | ||
22 | */ | ||
23 | asmlinkage void do_local_timer(struct pt_regs *); | ||
24 | |||
25 | |||
26 | #ifdef CONFIG_LOCAL_TIMERS | ||
27 | /* | ||
28 | * Platform provides this to acknowledge a local timer IRQ. | ||
29 | * Returns true if the local timer IRQ is to be processed. | ||
30 | */ | ||
31 | int local_timer_ack(void); | ||
32 | |||
33 | /* | ||
34 | * Stop a local timer interrupt. | ||
35 | */ | ||
36 | void local_timer_stop(void); | ||
37 | |||
38 | /* | ||
39 | * Setup a local timer interrupt for a CPU. | ||
40 | */ | ||
41 | void local_timer_setup(struct clock_event_device *); | ||
42 | |||
43 | #else | ||
44 | |||
45 | static inline void local_timer_stop(void) | ||
46 | { | ||
47 | } | ||
48 | |||
49 | #endif | ||
50 | |||
51 | #endif | ||
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h index 5995935338e1..608f2d533ff2 100644 --- a/arch/arm/include/asm/smp.h +++ b/arch/arm/include/asm/smp.h | |||
@@ -56,11 +56,6 @@ extern void smp_store_cpu_info(unsigned int cpuid); | |||
56 | extern void smp_cross_call(const struct cpumask *mask); | 56 | extern void smp_cross_call(const struct cpumask *mask); |
57 | 57 | ||
58 | /* | 58 | /* |
59 | * Broadcast a clock event to other CPUs. | ||
60 | */ | ||
61 | extern void smp_timer_broadcast(const struct cpumask *mask); | ||
62 | |||
63 | /* | ||
64 | * Boot a secondary CPU, and assign it the specified idle task. | 59 | * Boot a secondary CPU, and assign it the specified idle task. |
65 | * This also gives us the initial stack to use for this CPU. | 60 | * This also gives us the initial stack to use for this CPU. |
66 | */ | 61 | */ |
@@ -101,43 +96,8 @@ extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); | |||
101 | #define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask | 96 | #define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask |
102 | 97 | ||
103 | /* | 98 | /* |
104 | * Local timer interrupt handling function (can be IPI'ed). | ||
105 | */ | ||
106 | extern void local_timer_interrupt(void); | ||
107 | |||
108 | #ifdef CONFIG_LOCAL_TIMERS | ||
109 | |||
110 | /* | ||
111 | * Stop a local timer interrupt. | ||
112 | */ | ||
113 | extern void local_timer_stop(void); | ||
114 | |||
115 | /* | ||
116 | * Platform provides this to acknowledge a local timer IRQ | ||
117 | */ | ||
118 | extern int local_timer_ack(void); | ||
119 | |||
120 | #else | ||
121 | |||
122 | static inline void local_timer_stop(void) | ||
123 | { | ||
124 | } | ||
125 | |||
126 | #endif | ||
127 | |||
128 | /* | ||
129 | * Setup a local timer interrupt for a CPU. | ||
130 | */ | ||
131 | extern void local_timer_setup(void); | ||
132 | |||
133 | /* | ||
134 | * show local interrupt info | 99 | * show local interrupt info |
135 | */ | 100 | */ |
136 | extern void show_local_irqs(struct seq_file *); | 101 | extern void show_local_irqs(struct seq_file *); |
137 | 102 | ||
138 | /* | ||
139 | * Called from assembly, this is the local timer IRQ handler | ||
140 | */ | ||
141 | asmlinkage void do_local_timer(struct pt_regs *); | ||
142 | |||
143 | #endif /* ifndef __ASM_ARM_SMP_H */ | 103 | #endif /* ifndef __ASM_ARM_SMP_H */ |