of: implement of_node_to_nid as a weak function

Implement of_node_to_nid as weak function to remove the dependency on
asm/prom.h. This is in preparation to make prom.h optional.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@linaro.org>
This commit is contained in:
Rob Herring 2013-09-17 10:42:50 -05:00
parent 25ff79443c
commit 0c3f061c19
4 changed files with 11 additions and 18 deletions

View file

@ -42,13 +42,6 @@ extern void kdump_move_device_tree(void);
/* cache lookup */ /* cache lookup */
struct device_node *of_find_next_cache_node(struct device_node *np); struct device_node *of_find_next_cache_node(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
extern void of_instantiate_rtc(void); extern void of_instantiate_rtc(void);
extern int of_get_ibm_chip_id(struct device_node *np); extern int of_get_ibm_chip_id(struct device_node *np);

View file

@ -43,10 +43,6 @@ extern int of_getintprop_default(struct device_node *np,
const char *name, const char *name,
int def); int def);
extern int of_find_in_proplist(const char *list, const char *match, int len); 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);
#define of_node_to_nid of_node_to_nid
#endif
extern void prom_build_devicetree(void); extern void prom_build_devicetree(void);
extern void of_populate_present_mask(void); extern void of_populate_present_mask(void);

View file

@ -74,6 +74,13 @@ int of_n_size_cells(struct device_node *np)
} }
EXPORT_SYMBOL(of_n_size_cells); EXPORT_SYMBOL(of_n_size_cells);
#ifdef CONFIG_NUMA
int __weak of_node_to_nid(struct device_node *np)
{
return numa_node_id();
}
#endif
#if defined(CONFIG_OF_DYNAMIC) #if defined(CONFIG_OF_DYNAMIC)
/** /**
* of_node_get - Increment refcount of a node * of_node_get - Increment refcount of a node

View file

@ -534,13 +534,10 @@ static inline const char *of_prop_next_string(struct property *prop,
#define of_match_node(_matches, _node) NULL #define of_match_node(_matches, _node) NULL
#endif /* CONFIG_OF */ #endif /* CONFIG_OF */
#ifndef of_node_to_nid #if defined(CONFIG_OF) && defined(CONFIG_NUMA)
static inline int of_node_to_nid(struct device_node *np) extern int of_node_to_nid(struct device_node *np);
{ #else
return numa_node_id(); static inline int of_node_to_nid(struct device_node *device) { return 0; }
}
#define of_node_to_nid of_node_to_nid
#endif #endif
/** /**