mirror of https://gitee.com/openkylin/qemu.git
dt: allow add_subnode to create root subnodes
Our subnode creation helper can't handle creation of root subnodes, like "/memory". Fix this by allowing the parent node to be an empty string, indicating the root node. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
This commit is contained in:
parent
94282e7146
commit
c640d08834
|
@ -151,6 +151,7 @@ int qemu_devtree_add_subnode(void *fdt, const char *name)
|
|||
char *dupname = g_strdup(name);
|
||||
char *basename = strrchr(dupname, '/');
|
||||
int retval;
|
||||
int parent = 0;
|
||||
|
||||
if (!basename) {
|
||||
g_free(dupname);
|
||||
|
@ -160,7 +161,11 @@ int qemu_devtree_add_subnode(void *fdt, const char *name)
|
|||
basename[0] = '\0';
|
||||
basename++;
|
||||
|
||||
retval = fdt_add_subnode(fdt, findnode_nofail(fdt, dupname), basename);
|
||||
if (dupname[0]) {
|
||||
parent = findnode_nofail(fdt, dupname);
|
||||
}
|
||||
|
||||
retval = fdt_add_subnode(fdt, parent, basename);
|
||||
if (retval < 0) {
|
||||
fprintf(stderr, "FDT: Failed to create subnode %s: %s\n", name,
|
||||
fdt_strerror(retval));
|
||||
|
|
Loading…
Reference in New Issue