ARM: SMP: consolidate trace_hardirqs_off() into common SMP code
authorRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 3 Dec 2010 15:00:49 +0000 (15:00 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 20 Dec 2010 15:09:09 +0000 (15:09 +0000)
All platforms call trace_hardirqs_off() in their secondary startup code,
so move this into the core SMP code - it doesn't need to be in the
per-platform code.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/smp.c
arch/arm/mach-omap2/omap-smp.c
arch/arm/mach-realview/platsmp.c
arch/arm/mach-s5pv310/platsmp.c
arch/arm/mach-tegra/platsmp.c
arch/arm/mach-ux500/platsmp.c
arch/arm/mach-vexpress/platsmp.c

index c66f2d3f65d3e596fa74bc0f96e550665a638292..a30c4094db3a2efa9efa2b0fffb8de61a540683f 100644 (file)
@@ -317,6 +317,7 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
 
        cpu_init();
        preempt_disable();
+       trace_hardirqs_off();
 
        /*
         * Give the platform a chance to do its own initialisation.
index 3c3d6796c97c2feb097b0adb8082cfd5e1f788d5..9fed631ba04675315e9b135c78b04c6415ad1b64 100644 (file)
@@ -32,8 +32,6 @@ static DEFINE_SPINLOCK(boot_lock);
 
 void __cpuinit platform_secondary_init(unsigned int cpu)
 {
-       trace_hardirqs_off();
-
        /*
         * If any interrupts are already enabled for the primary
         * core (e.g. timer irq), then they will not have been enabled
index 380562cd6580d8aa9b4464ca1894c6217e261a6e..226c63102a004c1c37b6b45dff2dab8cfb7f7f05 100644 (file)
@@ -53,8 +53,6 @@ static DEFINE_SPINLOCK(boot_lock);
 
 void __cpuinit platform_secondary_init(unsigned int cpu)
 {
-       trace_hardirqs_off();
-
        /*
         * if any interrupts are already enabled for the primary
         * core (e.g. timer irq), then they will not have been enabled
index 51c44d4c98902c2f08283ab7a8bdf2c3c2075785..18aaf5f540332cf70ba93509d0eaf115a55e98ed 100644 (file)
@@ -46,8 +46,6 @@ static DEFINE_SPINLOCK(boot_lock);
 
 void __cpuinit platform_secondary_init(unsigned int cpu)
 {
-       trace_hardirqs_off();
-
        /*
         * if any interrupts are already enabled for the primary
         * core (e.g. timer irq), then they will not have been enabled
index b66a0c2d990d21df75c1411ce6a4dbe94a90d3ee..c729cd72cc3b759b315566bf944d614fe126620b 100644 (file)
@@ -40,8 +40,6 @@ static void __iomem *scu_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE);
 
 void __cpuinit platform_secondary_init(unsigned int cpu)
 {
-       trace_hardirqs_off();
-
        /*
         * if any interrupts are already enabled for the primary
         * core (e.g. timer irq), then they will not have been enabled
index 458a288981cb50c15952491fdea969052021542e..ddedbc80c41ff2b3e6d0836e1e51300a347d4088 100644 (file)
@@ -31,8 +31,6 @@ static DEFINE_SPINLOCK(boot_lock);
 
 void __cpuinit platform_secondary_init(unsigned int cpu)
 {
-       trace_hardirqs_off();
-
        /*
         * if any interrupts are already enabled for the primary
         * core (e.g. timer irq), then they will not have been enabled
index a0341d14ff2aa07098be44f9ffda56072b45108f..d7e0cb994e9df839016a136fcbd00b6086873a14 100644 (file)
@@ -43,8 +43,6 @@ static DEFINE_SPINLOCK(boot_lock);
 
 void __cpuinit platform_secondary_init(unsigned int cpu)
 {
-       trace_hardirqs_off();
-
        /*
         * if any interrupts are already enabled for the primary
         * core (e.g. timer irq), then they will not have been enabled