[linux-yocto] [PATCH 07/15] LSI AXM55xx: Fix CPU hotplug

Charlie Paul cpaul.windriver at gmail.com
Mon Apr 28 17:13:42 PDT 2014


From: David Mercado <david.mercado at windriver.com>

The platform CPU die routine was not being called. Added hook to
axxia_platform_cpu_die().

Signed-off-by: David Mercado <david.mercado at windriver.com>
---
 arch/arm/mach-axxia/axxia.h   |    1 +
 arch/arm/mach-axxia/hotplug.c |    2 +-
 arch/arm/mach-axxia/platsmp.c |    5 +++++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-axxia/axxia.h b/arch/arm/mach-axxia/axxia.h
index 3393d37..156c6e0 100644
--- a/arch/arm/mach-axxia/axxia.h
+++ b/arch/arm/mach-axxia/axxia.h
@@ -2,6 +2,7 @@
 
 void axxia_init_clocks(int is_sim);
 void axxia_ddr_retention_init(void);
+void axxia_platform_cpu_die(unsigned int cpu);
 
 extern struct smp_operations axxia_smp_ops;
 
diff --git a/arch/arm/mach-axxia/hotplug.c b/arch/arm/mach-axxia/hotplug.c
index d919bff..fb5ec90 100644
--- a/arch/arm/mach-axxia/hotplug.c
+++ b/arch/arm/mach-axxia/hotplug.c
@@ -114,7 +114,7 @@ int platform_cpu_kill(unsigned int cpu)
  *
  * Called with IRQs disabled
  */
-void platform_cpu_die(unsigned int cpu)
+void axxia_platform_cpu_die(unsigned int cpu)
 {
 	int spurious = 0;
 
diff --git a/arch/arm/mach-axxia/platsmp.c b/arch/arm/mach-axxia/platsmp.c
index 8e863b0..dec7b5b 100644
--- a/arch/arm/mach-axxia/platsmp.c
+++ b/arch/arm/mach-axxia/platsmp.c
@@ -22,6 +22,7 @@
 #include <asm/mach/map.h>
 #include <asm/virt.h>
 
+#include "axxia.h"
 #include <mach/axxia-gic.h>
 
 extern void axxia_secondary_startup(void);
@@ -246,4 +247,8 @@ struct smp_operations axxia_smp_ops __initdata = {
 	.smp_prepare_cpus	= axxia_smp_prepare_cpus,
 	.smp_secondary_init	= axxia_secondary_init,
 	.smp_boot_secondary	= axxia_boot_secondary,
+#ifdef CONFIG_HOTPLUG_CPU
+	.cpu_die		= axxia_platform_cpu_die,
+#endif
+
 };
-- 
1.7.9.5



More information about the linux-yocto mailing list