aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2012-01-10 14:07:28 -0500
committerMarc Zyngier <marc.zyngier@arm.com>2012-03-13 09:27:49 -0400
commitabde710ca8776f851e41c3dfe78ad7dcafa26dc9 (patch)
treed99380a73c205bd746638384010539bf55beb29f
parenta2821146e6f69566a384b368b90c22e84aaf7ef3 (diff)
ARM: smp_twd: make local_timer_stop a symbol instead of a #define
When CONFIG_HAVE_ARM_TWD is selected, local_timer_stop is a #define, while all other local timers are using a real function. Convert it to an alias of twd_timer_stop, as it helps converting all local timers to another internal API in a sane way. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-rw-r--r--arch/arm/include/asm/localtimer.h6
-rw-r--r--arch/arm/include/asm/smp_twd.h1
-rw-r--r--arch/arm/kernel/smp_twd.c7
3 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm/include/asm/localtimer.h b/arch/arm/include/asm/localtimer.h
index c6a18424888e..7e1b2c5f7d17 100644
--- a/arch/arm/include/asm/localtimer.h
+++ b/arch/arm/include/asm/localtimer.h
@@ -26,17 +26,13 @@ void percpu_timer_setup(void);
26 26
27#include "smp_twd.h" 27#include "smp_twd.h"
28 28
29#define local_timer_stop(c) twd_timer_stop((c)) 29#endif
30
31#else
32 30
33/* 31/*
34 * Stop the local timer 32 * Stop the local timer
35 */ 33 */
36void local_timer_stop(struct clock_event_device *); 34void local_timer_stop(struct clock_event_device *);
37 35
38#endif
39
40/* 36/*
41 * Setup a local timer interrupt for a CPU. 37 * Setup a local timer interrupt for a CPU.
42 */ 38 */
diff --git a/arch/arm/include/asm/smp_twd.h b/arch/arm/include/asm/smp_twd.h
index ef9ffba97ad8..bf8449da480a 100644
--- a/arch/arm/include/asm/smp_twd.h
+++ b/arch/arm/include/asm/smp_twd.h
@@ -23,6 +23,5 @@ struct clock_event_device;
23extern void __iomem *twd_base; 23extern void __iomem *twd_base;
24 24
25void twd_timer_setup(struct clock_event_device *); 25void twd_timer_setup(struct clock_event_device *);
26void twd_timer_stop(struct clock_event_device *);
27 26
28#endif 27#endif
diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c
index 4285daa077b0..b39916ad31c2 100644
--- a/arch/arm/kernel/smp_twd.c
+++ b/arch/arm/kernel/smp_twd.c
@@ -87,12 +87,17 @@ int twd_timer_ack(void)
87 return 0; 87 return 0;
88} 88}
89 89
90void twd_timer_stop(struct clock_event_device *clk) 90static void twd_timer_stop(struct clock_event_device *clk)
91{ 91{
92 twd_set_mode(CLOCK_EVT_MODE_UNUSED, clk); 92 twd_set_mode(CLOCK_EVT_MODE_UNUSED, clk);
93 disable_percpu_irq(clk->irq); 93 disable_percpu_irq(clk->irq);
94} 94}
95 95
96/* Temporary hack to be removed when all TWD users are converted to
97 the new registration interface */
98void local_timer_stop(struct clock_event_device *clk)
99 __attribute__ ((alias ("twd_timer_stop")));
100
96#ifdef CONFIG_CPU_FREQ 101#ifdef CONFIG_CPU_FREQ
97 102
98/* 103/*