ARM: GIC: private a standard get_irqnr_preamble assembler macro
Russell King [Sun, 5 Dec 2010 08:51:38 +0000 (08:51 +0000)]
Provide a standard get_irqnr_preamble assembler macro for platforms
to use, which retrieves the base address of the GIC CPU interface
from gic_cpu_base_addr.  Allow platforms to override this by defining
HAVE_GET_IRQNR_PREAMBLE.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

arch/arm/include/asm/hardware/entry-macro-gic.S
arch/arm/mach-cns3xxx/include/mach/entry-macro.S
arch/arm/mach-omap2/include/mach/entry-macro.S
arch/arm/mach-realview/include/mach/entry-macro.S
arch/arm/mach-tegra/include/mach/entry-macro.S
arch/arm/mach-ux500/include/mach/entry-macro.S
arch/arm/mach-vexpress/include/mach/entry-macro.S

index 05587f1..c115b82 100644 (file)
 
 #include <asm/hardware/gic.h>
 
+#ifndef HAVE_GET_IRQNR_PREAMBLE
+       .macro  get_irqnr_preamble, base, tmp
+       ldr     \base, =gic_cpu_base_addr
+       ldr     \base, [\base]
+       .endm
+#endif
+
 /*
  * The interrupt numbering scheme is defined in the
  * interrupt controller spec.  To wit:
index e793c33..6bd83ed 100644 (file)
                .macro  disable_fiq
                .endm
 
-               .macro  get_irqnr_preamble, base, tmp
-               ldr     \base, =gic_cpu_base_addr
-               ldr     \base, [\base]
-               .endm
-
                .macro  arch_ret_to_user, tmp1, tmp2
                .endm
index 2e358df..d54c4f8 100644 (file)
@@ -170,6 +170,7 @@ omap_irq_base:      .word   0
 
 
 #ifdef CONFIG_ARCH_OMAP4
+#define HAVE_GET_IRQNR_PREAMBLE
 #include <asm/hardware/entry-macro-gic.S>
 
                .macro  get_irqnr_preamble, base, tmp
index 4417b10..4071164 100644 (file)
                .macro  disable_fiq
                .endm
 
-               .macro  get_irqnr_preamble, base, tmp
-               ldr     \base, =gic_cpu_base_addr
-               ldr     \base, [\base]
-               .endm
-
                .macro  arch_ret_to_user, tmp1, tmp2
                .endm
 
index dc09249..dd165c5 100644 (file)
@@ -16,7 +16,7 @@
 #include <mach/io.h>
 
 #if defined(CONFIG_ARM_GIC)
-
+#define HAVE_GET_IRQNR_PREAMBLE
 #include <asm/hardware/entry-macro-gic.S>
 
        /* Uses the GIC interrupt controller built into the cpu */
index 3cc3cdf..a37f585 100644 (file)
@@ -11,6 +11,7 @@
  * warranty of any kind, whether express or implied.
  */
 #include <mach/hardware.h>
+#define HAVE_GET_IRQNR_PREAMBLE
 #include <asm/hardware/entry-macro-gic.S>
 
                .macro  disable_fiq
index 19d5ac8..73c1129 100644 (file)
@@ -3,10 +3,5 @@
        .macro  disable_fiq
        .endm
 
-       .macro  get_irqnr_preamble, base, tmp
-       ldr     \base, =gic_cpu_base_addr
-       ldr     \base, [\base]
-       .endm
-
        .macro  arch_ret_to_user, tmp1, tmp2
        .endm