Revision 80ad7816
b/device_tree.c | ||
---|---|---|
118 | 118 |
|
119 | 119 |
return fdt_nop_node(fdt, offset); |
120 | 120 |
} |
121 |
|
|
122 |
int qemu_devtree_add_subnode(void *fdt, const char *name) |
|
123 |
{ |
|
124 |
int offset; |
|
125 |
char *dupname = g_strdup(name); |
|
126 |
char *basename = strrchr(dupname, '/'); |
|
127 |
int retval; |
|
128 |
|
|
129 |
if (!basename) { |
|
130 |
return -1; |
|
131 |
} |
|
132 |
|
|
133 |
basename[0] = '\0'; |
|
134 |
basename++; |
|
135 |
|
|
136 |
offset = fdt_path_offset(fdt, dupname); |
|
137 |
if (offset < 0) { |
|
138 |
return offset; |
|
139 |
} |
|
140 |
|
|
141 |
retval = fdt_add_subnode(fdt, offset, basename); |
|
142 |
g_free(dupname); |
|
143 |
return retval; |
|
144 |
} |
b/device_tree.h | ||
---|---|---|
23 | 23 |
int qemu_devtree_setprop_string(void *fdt, const char *node_path, |
24 | 24 |
const char *property, const char *string); |
25 | 25 |
int qemu_devtree_nop_node(void *fdt, const char *node_path); |
26 |
int qemu_devtree_add_subnode(void *fdt, const char *name); |
|
26 | 27 |
|
27 | 28 |
#endif /* __DEVICE_TREE_H__ */ |
Also available in: Unified diff