From: Marc Zyngier <marc.zyngier@arm.com>
Date: Tue, 10 Jan 2012 19:07:28 +0000 (+0000)
Subject: ARM: smp_twd: make local_timer_stop a symbol instead of a #define
X-Git-Tag: firefly_0821_release~3680^2~3251^2~3^2~14
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=abde710ca8776f851e41c3dfe78ad7dcafa26dc9;p=firefly-linux-kernel-4.4.55.git

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>
---

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);
 
 #include "smp_twd.h"
 
-#define local_timer_stop(c)	twd_timer_stop((c))
-
-#else
+#endif
 
 /*
  * Stop the local timer
  */
 void local_timer_stop(struct clock_event_device *);
 
-#endif
-
 /*
  * Setup a local timer interrupt for a CPU.
  */
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;
 extern void __iomem *twd_base;
 
 void twd_timer_setup(struct clock_event_device *);
-void twd_timer_stop(struct clock_event_device *);
 
 #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)
 	return 0;
 }
 
-void twd_timer_stop(struct clock_event_device *clk)
+static void twd_timer_stop(struct clock_event_device *clk)
 {
 	twd_set_mode(CLOCK_EVT_MODE_UNUSED, clk);
 	disable_percpu_irq(clk->irq);
 }
 
+/* Temporary hack to be removed when all TWD users are converted to
+   the new registration interface */
+void local_timer_stop(struct clock_event_device *clk)
+	__attribute__ ((alias ("twd_timer_stop")));
+
 #ifdef CONFIG_CPU_FREQ
 
 /*