dt: add of_alias_scan and of_alias_get_id
The patch adds function of_alias_scan to populate a global lookup table with the properties of 'aliases' node and function of_alias_get_id for drivers to find alias id from the lookup table. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> [grant.likely: add locking and rework parse loop] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
@ -68,6 +68,7 @@ struct device_node {
|
||||
/* Pointer for first entry in chain of all nodes. */
|
||||
extern struct device_node *allnodes;
|
||||
extern struct device_node *of_chosen;
|
||||
extern struct device_node *of_aliases;
|
||||
extern rwlock_t devtree_lock;
|
||||
|
||||
static inline bool of_have_populated_dt(void)
|
||||
@ -209,6 +210,9 @@ extern int of_device_is_available(const struct device_node *device);
|
||||
extern const void *of_get_property(const struct device_node *node,
|
||||
const char *name,
|
||||
int *lenp);
|
||||
#define for_each_property(pp, properties) \
|
||||
for (pp = properties; pp != NULL; pp = pp->next)
|
||||
|
||||
extern int of_n_addr_cells(struct device_node *np);
|
||||
extern int of_n_size_cells(struct device_node *np);
|
||||
extern const struct of_device_id *of_match_node(
|
||||
@ -221,6 +225,10 @@ extern int of_parse_phandles_with_args(struct device_node *np,
|
||||
const char *list_name, const char *cells_name, int index,
|
||||
struct device_node **out_node, const void **out_args);
|
||||
|
||||
extern void *early_init_dt_alloc_memory_arch(u64 size, u64 align);
|
||||
extern void of_alias_scan(void);
|
||||
extern int of_alias_get_id(struct device_node *np, const char *stem);
|
||||
|
||||
extern int of_machine_is_compatible(const char *compat);
|
||||
|
||||
extern int prom_add_property(struct device_node* np, struct property* prop);
|
||||
|
Reference in New Issue
Block a user