cns3xxx: add experimental 3.18 support
[openwrt/openwrt.git] / target / linux / cns3xxx / patches-3.18 / 025-smp_support.patch
diff --git a/target/linux/cns3xxx/patches-3.18/025-smp_support.patch b/target/linux/cns3xxx/patches-3.18/025-smp_support.patch
new file mode 100644 (file)
index 0000000..418c065
--- /dev/null
@@ -0,0 +1,30 @@
+--- 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
+@@ -2,6 +2,9 @@ menuconfig ARCH_CNS3XXX
+       bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6
+       select ARM_GIC
+       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
+@@ -13,6 +13,7 @@
+ #include <linux/reboot.h>
++extern struct smp_operations cns3xxx_smp_ops;
+ extern void cns3xxx_timer_init(void);
+ #ifdef CONFIG_CACHE_L2X0