Loading arch/sparc64/kernel/prom.c +26 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,32 @@ struct device_node *of_find_node_by_path(const char *path) return np; } struct device_node *of_find_node_by_name(struct device_node *from, const char *name) { struct device_node *np; np = from ? from->allnext : allnodes; for (; np != NULL; np = np->allnext) if (np->name != NULL && strcmp(np->name, name) == 0) break; return np; } struct device_node *of_find_node_by_type(struct device_node *from, const char *type) { struct device_node *np; np = from ? from->allnext : allnodes; for (; np != 0; np = np->allnext) if (np->type != 0 && strcmp(np->type, type) == 0) break; return np; } struct property *of_find_property(struct device_node *np, const char *name, int *lenp) { Loading include/asm-sparc64/prom.h +10 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,16 @@ static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_e dn->pde = de; } extern struct device_node *of_find_node_by_name(struct device_node *from, const char *name); #define for_each_node_by_name(dn, name) \ for (dn = of_find_node_by_name(NULL, name); dn; \ dn = of_find_node_by_name(dn, name)) extern struct device_node *of_find_node_by_type(struct device_node *from, const char *type); #define for_each_node_by_type(dn, type) \ for (dn = of_find_node_by_type(NULL, type); dn; \ dn = of_find_node_by_type(dn, type)) extern struct device_node *of_find_node_by_path(const char *path); extern struct device_node *of_get_parent(const struct device_node *node); extern struct device_node *of_get_next_child(const struct device_node *node, Loading Loading
arch/sparc64/kernel/prom.c +26 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,32 @@ struct device_node *of_find_node_by_path(const char *path) return np; } struct device_node *of_find_node_by_name(struct device_node *from, const char *name) { struct device_node *np; np = from ? from->allnext : allnodes; for (; np != NULL; np = np->allnext) if (np->name != NULL && strcmp(np->name, name) == 0) break; return np; } struct device_node *of_find_node_by_type(struct device_node *from, const char *type) { struct device_node *np; np = from ? from->allnext : allnodes; for (; np != 0; np = np->allnext) if (np->type != 0 && strcmp(np->type, type) == 0) break; return np; } struct property *of_find_property(struct device_node *np, const char *name, int *lenp) { Loading
include/asm-sparc64/prom.h +10 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,16 @@ static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_e dn->pde = de; } extern struct device_node *of_find_node_by_name(struct device_node *from, const char *name); #define for_each_node_by_name(dn, name) \ for (dn = of_find_node_by_name(NULL, name); dn; \ dn = of_find_node_by_name(dn, name)) extern struct device_node *of_find_node_by_type(struct device_node *from, const char *type); #define for_each_node_by_type(dn, type) \ for (dn = of_find_node_by_type(NULL, type); dn; \ dn = of_find_node_by_type(dn, type)) extern struct device_node *of_find_node_by_path(const char *path); extern struct device_node *of_get_parent(const struct device_node *node); extern struct device_node *of_get_next_child(const struct device_node *node, Loading