diff options
author | Marc Gonzalez <marc_gonzalez@sigmadesigns.com> | 2016-01-06 04:27:43 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2016-01-07 00:33:41 -0500 |
commit | d6bd05794f18673097ec5e62e577754649a5c632 (patch) | |
tree | 8429bcc990c2e1256eaf5a4ef350c9d01c5d3bbc | |
parent | 765ff22d54591a24fe81f6a451b953f43e076ced (diff) |
ARM: tango: Fix UP build issues
Move SMP setup to platsmp.c for consistency with other platforms.
Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/mach-tango/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/mach-tango/platsmp.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-tango/setup.c | 14 |
3 files changed, 19 insertions, 15 deletions
diff --git a/arch/arm/mach-tango/Makefile b/arch/arm/mach-tango/Makefile index 99422ea743fd..f33935e42e77 100644 --- a/arch/arm/mach-tango/Makefile +++ b/arch/arm/mach-tango/Makefile | |||
@@ -1,3 +1,5 @@ | |||
1 | plus_sec := $(call as-instr,.arch_extension sec,+sec) | 1 | plus_sec := $(call as-instr,.arch_extension sec,+sec) |
2 | AFLAGS_smc.o :=-Wa,-march=armv7-a$(plus_sec) | 2 | AFLAGS_smc.o := -Wa,-march=armv7-a$(plus_sec) |
3 | |||
3 | obj-y += setup.o smc.o | 4 | obj-y += setup.o smc.o |
5 | obj-$(CONFIG_SMP) += platsmp.o | ||
diff --git a/arch/arm/mach-tango/platsmp.c b/arch/arm/mach-tango/platsmp.c new file mode 100644 index 000000000000..a18d5a34e2f5 --- /dev/null +++ b/arch/arm/mach-tango/platsmp.c | |||
@@ -0,0 +1,16 @@ | |||
1 | #include <linux/init.h> | ||
2 | #include <linux/smp.h> | ||
3 | #include "smc.h" | ||
4 | |||
5 | static int tango_boot_secondary(unsigned int cpu, struct task_struct *idle) | ||
6 | { | ||
7 | tango_set_aux_boot_addr(virt_to_phys(secondary_startup)); | ||
8 | tango_start_aux_core(cpu); | ||
9 | return 0; | ||
10 | } | ||
11 | |||
12 | static struct smp_operations tango_smp_ops __initdata = { | ||
13 | .smp_boot_secondary = tango_boot_secondary, | ||
14 | }; | ||
15 | |||
16 | CPU_METHOD_OF_DECLARE(tango4_smp, "sigma,tango4-smp", &tango_smp_ops); | ||
diff --git a/arch/arm/mach-tango/setup.c b/arch/arm/mach-tango/setup.c index d86900550e63..f14b6c7d255b 100644 --- a/arch/arm/mach-tango/setup.c +++ b/arch/arm/mach-tango/setup.c | |||
@@ -1,21 +1,7 @@ | |||
1 | #include <linux/smp.h> | ||
2 | #include <asm/mach/arch.h> | 1 | #include <asm/mach/arch.h> |
3 | #include <asm/hardware/cache-l2x0.h> | 2 | #include <asm/hardware/cache-l2x0.h> |
4 | #include "smc.h" | 3 | #include "smc.h" |
5 | 4 | ||
6 | static int tango4_boot_secondary(unsigned int cpu, struct task_struct *idle) | ||
7 | { | ||
8 | tango_set_aux_boot_addr(virt_to_phys(secondary_startup)); | ||
9 | tango_start_aux_core(cpu); | ||
10 | return 0; | ||
11 | } | ||
12 | |||
13 | static struct smp_operations tango4_smp_ops __initdata = { | ||
14 | .smp_boot_secondary = tango4_boot_secondary, | ||
15 | }; | ||
16 | |||
17 | CPU_METHOD_OF_DECLARE(tango4_smp, "sigma,tango4-smp", &tango4_smp_ops); | ||
18 | |||
19 | static void tango_l2c_write(unsigned long val, unsigned int reg) | 5 | static void tango_l2c_write(unsigned long val, unsigned int reg) |
20 | { | 6 | { |
21 | if (reg == L2X0_CTRL) | 7 | if (reg == L2X0_CTRL) |