Revision c640d088
b/device_tree.c | ||
---|---|---|
151 | 151 |
char *dupname = g_strdup(name); |
152 | 152 |
char *basename = strrchr(dupname, '/'); |
153 | 153 |
int retval; |
154 |
int parent = 0; |
|
154 | 155 |
|
155 | 156 |
if (!basename) { |
156 | 157 |
g_free(dupname); |
... | ... | |
160 | 161 |
basename[0] = '\0'; |
161 | 162 |
basename++; |
162 | 163 |
|
163 |
retval = fdt_add_subnode(fdt, findnode_nofail(fdt, dupname), basename); |
|
164 |
if (dupname[0]) { |
|
165 |
parent = findnode_nofail(fdt, dupname); |
|
166 |
} |
|
167 |
|
|
168 |
retval = fdt_add_subnode(fdt, parent, basename); |
|
164 | 169 |
if (retval < 0) { |
165 | 170 |
fprintf(stderr, "FDT: Failed to create subnode %s: %s\n", name, |
166 | 171 |
fdt_strerror(retval)); |
Also available in: Unified diff