Revision 80ad7816 device_tree.c

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
}

Also available in: Unified diff