[ARM] Move enable_irq and disable_irq to assembler.h
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Thu, 23 Mar 2006 16:59:37 +0000 (16:59 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 23 Mar 2006 16:59:37 +0000 (16:59 +0000)
5d25ac038a317d454a4321cba955f756400835a5 broke VFP builds due to
enable_irq not being defined as an assembly macro.  Move it to
assembler.h so everyone can use it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/entry-header.S
arch/arm/vfp/entry.S
include/asm-arm/assembler.h

index 55c99cdab7d64f430f1e3063343111cfdf9dfce9..f1c2fd5b63e40beb0e990148a2cd2be5fde2c139 100644 (file)
 #endif
        .endm
 
-#if __LINUX_ARM_ARCH__ >= 6
-       .macro  disable_irq
-       cpsid   i
-       .endm
-
-       .macro  enable_irq
-       cpsie   i
-       .endm
-#else
-       .macro  disable_irq
-       msr     cpsr_c, #PSR_I_BIT | SVC_MODE
-       .endm
-
-       .macro  enable_irq
-       msr     cpsr_c, #SVC_MODE
-       .endm
-#endif
-
        .macro  get_thread_info, rd
        mov     \rd, sp, lsr #13
        mov     \rd, \rd, lsl #13
index 9ab1abfbe7ade15ba3288af85f999757b31441d3..7b595547c1c80c9a0333a58a75cc00283d3c8fb9 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/linkage.h>
 #include <linux/init.h>
 #include <asm/asm-offsets.h>
+#include <asm/assembler.h>
 #include <asm/vfpmacros.h>
 
        .globl  do_vfp
index f31ac92b6c7f1c0f69dc90e861a0bad367ff6c5e..d53bafa9bf1c58f80fffdb2910571d3544340e1d 100644 (file)
        instr   regs
 
 /*
- * Save the current IRQ state and disable IRQs.  Note that this macro
- * assumes FIQs are enabled, and that the processor is in SVC mode.
+ * Enable and disable interrupts
  */
-       .macro  save_and_disable_irqs, oldcpsr
-       mrs     \oldcpsr, cpsr
 #if __LINUX_ARM_ARCH__ >= 6
+       .macro  disable_irq
        cpsid   i
+       .endm
+
+       .macro  enable_irq
+       cpsie   i
+       .endm
 #else
-       msr     cpsr_c, #PSR_I_BIT | MODE_SVC
+       .macro  disable_irq
+       msr     cpsr_c, #PSR_I_BIT | SVC_MODE
+       .endm
+
+       .macro  enable_irq
+       msr     cpsr_c, #SVC_MODE
+       .endm
 #endif
+
+/*
+ * Save the current IRQ state and disable IRQs.  Note that this macro
+ * assumes FIQs are enabled, and that the processor is in SVC mode.
+ */
+       .macro  save_and_disable_irqs, oldcpsr
+       mrs     \oldcpsr, cpsr
+       disable_irq
        .endm
 
 /*