Subject: [PATCH] powerpc/pseries: correct builds break when CONFIG_SMP not defined

From: Nathan Fontenot <[email-masked]>
Date: Mon, 29 Apr 2013 08:45:36 -0500

Correct build failure for powerpc/pseries builds with CONFIG_SMP not defined.

The function cpu_sibling_mask has no meaning (or definition) when CONFIG_SMP
is not defined. Additionally, the updating of NUMA affinity for a CPU in a UP
system doesn't really make sense.

This patch ifdef's out the code making the affinity updates for PRRN events to
fix the following build break.

arch/powerpc/mm/numa.c: In function ‘stage_topology_update’:
arch/powerpc/mm/numa.c:1535: error: implicit declaration of function ‘cpu_sibling_mask’
arch/powerpc/mm/numa.c:1535: warning: passing argument 3 of ‘cpumask_or’ makes pointer from integer without a cast
make[1]: *** [arch/powerpc/mm/numa.o] Error 1

Signed-off-by: Nathan Fontenot <[email-masked]>
---
 arch/powerpc/mm/numa.c |    8 ++++++++
 1 file changed, 8 insertions(+)

Index: ppc-next/arch/powerpc/mm/numa.c
===================================================================
--- ppc-next.orig/arch/powerpc/mm/numa.c	2013-04-29 07:16:00.000000000 -0500
+++ ppc-next/arch/powerpc/mm/numa.c	2013-04-29 07:21:35.000000000 -0500
@@ -1529,6 +1529,8 @@
 	mod_timer(&topology_timer, topology_timer.expires);
 }
 
+#ifdef CONFIG_SMP
+
 static void stage_topology_update(int core_id)
 {
 	cpumask_or(&cpu_associativity_changes_mask,
@@ -1562,6 +1564,8 @@
 	.notifier_call = dt_update_callback,
 };
 
+#endif
+
 /*
  * Start polling for associativity changes.
  */
@@ -1573,7 +1577,9 @@
 		if (!prrn_enabled) {
 			prrn_enabled = 1;
 			vphn_enabled = 0;
+#ifdef CONFIG_SMP
 			rc = of_reconfig_notifier_register(&dt_update_nb);
+#endif
 		}
 	} else if (firmware_has_feature(FW_FEATURE_VPHN) &&
 		   get_lppaca()->shared_proc) {
@@ -1598,7 +1604,9 @@
 
 	if (prrn_enabled) {
 		prrn_enabled = 0;
+#ifdef CONFIG_SMP
 		rc = of_reconfig_notifier_unregister(&dt_update_nb);
+#endif
 	} else if (vphn_enabled) {
 		vphn_enabled = 0;
 		rc = del_timer_sync(&topology_timer);