
From: Christoph Lameter <clameter@engr.sgi.com>

pcibus_to_node currently returns 0 if the arch provides no definition. 
This means that all devices are seen to be on node 0 and therefore all
control structures are allocated on node 0.

pcibus_to_node must return -1 to indicate that no node information is
available.

Then also pcibus_to_cpumask must return a cpumask for all cpu if the node
is -1

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 include/asm-generic/topology.h |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff -puN include/asm-generic/topology.h~allow-pcibus_to_node-to-return-undetermined include/asm-generic/topology.h
--- 25/include/asm-generic/topology.h~allow-pcibus_to_node-to-return-undetermined	2005-05-11 18:31:14.000000000 -0700
+++ 25-akpm/include/asm-generic/topology.h	2005-05-11 18:31:14.000000000 -0700
@@ -42,11 +42,14 @@
 #define node_to_first_cpu(node)	(0)
 #endif
 #ifndef pcibus_to_node
-#define pcibus_to_node(node)	(0)
+#define pcibus_to_node(node)	(-1)
 #endif
 
 #ifndef pcibus_to_cpumask
-#define pcibus_to_cpumask(bus)	(node_to_cpumask(pcibus_to_node(bus)))
+#define pcibus_to_cpumask(bus)	(pcibus_to_node(bus) == -1 ? \
+					CPU_MASK_ALL : \
+					node_to_cpumask(pcibus_to_node(bus)) \
+				)
 #endif
 
 #endif /* _ASM_GENERIC_TOPOLOGY_H */
_
