[PATCH] powerpc: implement pcibus_to_node and pcibus_to_cpumask
authorChristoph Hellwig <hch@lst.de>
Tue, 6 Jun 2006 14:09:39 +0000 (16:09 +0200)
committerPaul Mackerras <paulus@samba.org>
Fri, 9 Jun 2006 11:21:08 +0000 (21:21 +1000)
On 64bit powerpc we can find out what node a pci bus hangs off, so
implement the topology.h macros that export this information.

For 32bit this seems a little more difficult, but I don't know of 32bit
powerpc NUMA machines either, so let's leave it out for now.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
include/asm-powerpc/topology.h

index 87362a0..b7abd42 100644 (file)
@@ -32,8 +32,13 @@ static inline int node_to_first_cpu(int node)
 
 int of_node_to_nid(struct device_node *device);
 
+#ifdef CONFIG_PPC64
+#define pcibus_to_node(bus)    (of_node_to_nid(bus->sysdata))
+#define pcibus_to_cpumask(bus) (node_to_cpumask(of_node_to_nid(bus->sysdata)))
+#else
 #define pcibus_to_node(node)    (-1)
 #define pcibus_to_cpumask(bus) (cpu_online_map)
+#endif
 
 /* sched_domains SD_NODE_INIT for PPC64 machines */
 #define SD_NODE_INIT (struct sched_domain) {           \