Uninline irq_enter().  [dynticks adds more stuff to it]
No functional changes.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  * always balanced, so the interrupted value of ->hardirq_context
  * will always be restored.
  */
-#define irq_enter()                                    \
-       do {                                            \
-               account_system_vtime(current);          \
-               add_preempt_count(HARDIRQ_OFFSET);      \
-               trace_hardirq_enter();                  \
-       } while (0)
+extern void irq_enter(void);
 
 /*
  * Exit irq context without processing softirqs:
 
 
 #endif
 
+/*
+ * Enter an interrupt context.
+ */
+void irq_enter(void)
+{
+       account_system_vtime(current);
+       add_preempt_count(HARDIRQ_OFFSET);
+       trace_hardirq_enter();
+}
+
 #ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED
 # define invoke_softirq()      __do_softirq()
 #else