--- a/arch/arm/mach-cns3xxx/Makefile +++ b/arch/arm/mach-cns3xxx/Makefile @@ -5,3 +5,5 @@ cns3xxx-y += core.o pm.o cns3xxx-$(CONFIG_ATAGS) += devices.o cns3xxx-$(CONFIG_PCI) += pcie.o cns3xxx-$(CONFIG_MACH_CNS3420VB) += cns3420vb.o +cns3xxx-$(CONFIG_SMP) += platsmp.o headsmp.o +cns3xxx-$(CONFIG_HOTPLUG_CPU) += hotplug.o --- a/arch/arm/mach-cns3xxx/Kconfig +++ b/arch/arm/mach-cns3xxx/Kconfig @@ -6,6 +6,9 @@ config ARCH_CNS3XXX select MIGHT_HAVE_CACHE_L2X0 select MIGHT_HAVE_PCI select PCI_DOMAINS if PCI + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS + select HAVE_SMP help Support for Cavium Networks CNS3XXX platform. --- a/arch/arm/mach-cns3xxx/core.h +++ b/arch/arm/mach-cns3xxx/core.h @@ -11,6 +11,7 @@ #ifndef __CNS3XXX_CORE_H #define __CNS3XXX_CORE_H +extern struct smp_operations cns3xxx_smp_ops; extern void cns3xxx_timer_init(void); #ifdef CONFIG_CACHE_L2X0