of: Provide default of_node_to_nid() implementation.
PATCH 1/1 of: Provide default of_node_to_nid() implementation.
of_node_to_nid() is only relevant in a few architectures. Don't force everyone to implement it anyway.
Signed-off-by Grant Likely <[email protected]>
---
v3: make -1 the default return value and let powerpc override it to 0 when CONFIG_NUMA not set.
arch/microblaze/include/asm/topology.h | 10 ---------- arch/powerpc/include/asm/prom.h | 7 +++++++ arch/powerpc/include/asm/topology.h | 7 ------- arch/sparc/include/asm/prom.h | 3 +-- include/linux/of.h | 5 +++++ 5 files changed, 13 insertions(+), 19 deletions(-)
arch/microblaze/include/asm/topology.h +0 -10
@@ -1,11 +1 @@#include <asm-generic/topology.h> - -#ifndef _ASM_MICROBLAZE_TOPOLOGY_H -#define _ASM_MICROBLAZE_TOPOLOGY_H - -struct device_node ; -static inline int of_node_to_nid (struct device_node *device) -{ -return 0 ; -} -#endif /* _ASM_MICROBLAZE_TOPOLOGY_H */
arch/powerpc/include/asm/prom.h +7 -0
@@ -103,6 +103,13 @@ struct device_node *of_find_next_cache_node(struct device_node *np);/* Get the MAC address */ extern const void *of_get_mac_address (struct device_node *np); +#ifdef CONFIG_NUMA +extern int of_node_to_nid (struct device_node *device); +#else +static inline int of_node_to_nid (struct device_node *device) {return 0 ; } +#endif +#define of_node_to_nid of_node_to_nid +/** * of_irq_map_pci - Resolve the interrupt for a PCI device * @pdev: the device whose interrupt is to be resolved
arch/powerpc/include/asm/topology.h +0 -7
@@ -41,8 +41,6 @@ static inline int cpu_to_node(int cpu) cpu_all_mask : \ node_to_cpumask_map[node]) -int of_node_to_nid (struct device_node *device); - struct pci_bus;#ifdef CONFIG_PCI extern int pcibus_to_node (struct pci_bus *bus);
@@ -94,11 +92,6 @@ extern void sysfs_remove_device_from_node(struct sys_device *dev, int nid);#else -static inline int of_node_to_nid (struct device_node *device) -{ -return 0 ; -} -static inline void dump_numa_cpu_topology (void ) {}static inline int sysfs_add_device_to_node (struct sys_device *dev,int nid)
arch/sparc/include/asm/prom.h +1 -2
@@ -43,8 +43,7 @@ extern int of_getintprop_default(struct device_node *np,extern int of_find_in_proplist (const char *list,const char *match,int len);#ifdef CONFIG_NUMA extern int of_node_to_nid (struct device_node *dp); -#else -#define of_node_to_nid (dp) (-1) +#define of_node_to_nid of_node_to_nid#endif extern void prom_build_devicetree (void );
include/linux/of.h +5 -0
@@ -146,6 +146,11 @@ static inline unsigned long of_read_ulong(const __be32 *cell, int size)#define OF_BAD_ADDR ((u64)-1) +#ifndef of_node_to_nid +static inline int of_node_to_nid (struct device_node *np) {return -1 ; } +#define of_node_to_nid of_node_to_nid +#endif +extern struct device_node *of_find_node_by_name (struct device_node *from,const char *name);#define for_each_node_by_name (dn, name) \