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