]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: shmobile: Allow use of boot code for non-SMP case
authorMagnus Damm <damm+renesas@opensource.se>
Fri, 6 Jun 2014 07:20:10 +0000 (16:20 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Thu, 26 Jun 2014 06:51:43 +0000 (15:51 +0900)
Allow build of platsmp.c and headsmp.S even though
SMP is disabled in the kernel configuration. With
this in place it is possible to share the reset
vector setup code with power management code that
needs to be built even though SMP is disabled.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/Makefile
arch/arm/mach-shmobile/headsmp.S

index 9c0ad3e115a67e5c1101622dd01aa83a240a3462..279d3f3aad4d1a97cf5c9c277ab7fba0446afbbe 100644 (file)
@@ -34,17 +34,17 @@ obj-$(CONFIG_ARCH_R8A7791)  += clock-r8a7791.o
 obj-$(CONFIG_ARCH_R7S72100)    += clock-r7s72100.o
 endif
 
+# CPU reset vector handling objects
+cpu-y                          := platsmp.o headsmp.o
+
 # SMP objects
-smp-y                          := platsmp.o headsmp.o
+smp-y                          := $(cpu-y)
 smp-$(CONFIG_ARCH_SH73A0)      += smp-sh73a0.o headsmp-scu.o platsmp-scu.o
 smp-$(CONFIG_ARCH_R8A7779)     += smp-r8a7779.o headsmp-scu.o platsmp-scu.o
 smp-$(CONFIG_ARCH_R8A7790)     += smp-r8a7790.o platsmp-apmu.o
 smp-$(CONFIG_ARCH_R8A7791)     += smp-r8a7791.o platsmp-apmu.o
 smp-$(CONFIG_ARCH_EMEV2)       += smp-emev2.o headsmp-scu.o platsmp-scu.o
 
-# IRQ objects
-obj-$(CONFIG_ARCH_SH7372)      += entry-intc.o
-
 # PM objects
 obj-$(CONFIG_SUSPEND)          += suspend.o
 obj-$(CONFIG_CPU_IDLE)         += cpuidle.o
@@ -55,6 +55,9 @@ obj-$(CONFIG_ARCH_R8A7779)    += pm-r8a7779.o pm-rcar.o
 obj-$(CONFIG_ARCH_R8A7790)     += pm-r8a7790.o pm-rcar.o
 obj-$(CONFIG_ARCH_R8A7791)     += pm-r8a7791.o pm-rcar.o
 
+# IRQ objects
+obj-$(CONFIG_ARCH_SH7372)      += entry-intc.o
+
 # Board objects
 ifdef CONFIG_ARCH_SHMOBILE_MULTI
 obj-$(CONFIG_MACH_GENMAI)      += board-genmai-reference.o
index e5be5c88644b70aa8bb6196807bff7f000085658..faf82144a2629e307c64480f1a232a2035f48719 100644 (file)
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
-#include <linux/linkage.h>
 #include <linux/init.h>
+#include <linux/linkage.h>
+#include <linux/threads.h>
 #include <asm/memory.h>
 
+#ifdef CONFIG_SMP
 ENTRY(shmobile_invalidate_start)
        bl      v7_invalidate_l1
        b       secondary_startup
 ENDPROC(shmobile_invalidate_start)
+#endif
 
 /*
  * Reset vector for secondary CPUs.
@@ -68,7 +71,7 @@ shmobile_smp_boot_find_mpidr:
 
 shmobile_smp_boot_next:
        add     r1, r1, #1
-       cmp     r1, #CONFIG_NR_CPUS
+       cmp     r1, #NR_CPUS
        blo     shmobile_smp_boot_find_mpidr
 
        b       shmobile_smp_sleep
@@ -85,10 +88,10 @@ ENDPROC(shmobile_smp_sleep)
 
        .globl  shmobile_smp_mpidr
 shmobile_smp_mpidr:
-1:     .space  CONFIG_NR_CPUS * 4
+1:     .space  NR_CPUS * 4
        .globl  shmobile_smp_fn
 shmobile_smp_fn:
-2:     .space  CONFIG_NR_CPUS * 4
+2:     .space  NR_CPUS * 4
        .globl  shmobile_smp_arg
 shmobile_smp_arg:
-3:     .space  CONFIG_NR_CPUS * 4
+3:     .space  NR_CPUS * 4