- if (ndepth == 1) {
- debug("delete %s: offset: %x\n",
- fdt_get_name(blob, off, 0), off);
- ret = fdt_del_node((void *)blob, off);
- if (ret < 0) {
- printf("Can't delete node: %s\n",
- fdt_strerror(ret));
- return ret;
- } else {
- ndepth = 0;
- off = parent_offset;
- }
+ if (ndepth != 1)
+ continue;
+ if (fdt_getprop(blob, off, "compatible", NULL))
+ continue;
+ debug("delete %s: offset: %x\n",
+ fdt_get_name(blob, off, 0), off);
+ ret = fdt_del_node((void *)blob, off);
+ if (ret < 0) {
+ printf("Can't delete node: %s\n",
+ fdt_strerror(ret));
+ return ret;
+ } else {
+ ndepth = 0;
+ off = parent_offset;