/* returns: 0 on success Negative error code on failure  */
static int overlay_fixup_phandles(void *fdt, void *fdto)
/* returns: 0 on success Negative error code on failure  */
static int overlay_fixup_phandles(void *fdt, void *fdto)
{
  int  fixups_off, symbols_off;
  int  property;
  fixups_off = fdt_path_offset (fdto, "/__fixups__");
  if (fixups_off == -FDT_ERR_NOTFOUND) {
    return 0;
  }
  if (fixups_off < 0) {
    return fixups_off;
  }
  symbols_off = fdt_path_offset (fdt, "/__symbols__");
  if (((symbols_off < 0) && (symbols_off != -FDT_ERR_NOTFOUND))) {
    return symbols_off;
  }
  fdt_for_each_property_offset (property, fdto, fixups_off) {
    int  ret;
    ret = overlay_fixup_phandle (fdt, fdto, symbols_off, property);
    if (ret) {
      return ret;
    }
  }
  return 0;
}