diff options
Diffstat (limited to 'arch/powerpc/include/asm/topology.h')
| -rw-r--r-- | arch/powerpc/include/asm/topology.h | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/topology.h b/arch/powerpc/include/asm/topology.h index 8b3b46b7b0f2..329771559cbb 100644 --- a/arch/powerpc/include/asm/topology.h +++ b/arch/powerpc/include/asm/topology.h @@ -44,8 +44,22 @@ extern void __init dump_numa_cpu_topology(void);  extern int sysfs_add_device_to_node(struct device *dev, int nid);  extern void sysfs_remove_device_from_node(struct device *dev, int nid); +static inline int early_cpu_to_node(int cpu) +{ +	int nid; + +	nid = numa_cpu_lookup_table[cpu]; + +	/* +	 * Fall back to node 0 if nid is unset (it should be, except bugs). +	 * This allows callers to safely do NODE_DATA(early_cpu_to_node(cpu)). +	 */ +	return (nid < 0) ? 0 : nid; +}  #else +static inline int early_cpu_to_node(int cpu) { return 0; } +  static inline void dump_numa_cpu_topology(void) {}  static inline int sysfs_add_device_to_node(struct device *dev, int nid)  |