Changeset View
Changeset View
Standalone View
Standalone View
stand/fdt/fdt_overlay.c
Show First 20 Lines • Show All 320 Lines • ▼ Show 20 Lines | fdt_overlay_do_fixups(void *main_fdtp, void *overlay_fdtp) | ||||
const char *symbol_path; | const char *symbol_path; | ||||
uint32_t phandle; | uint32_t phandle; | ||||
main_symbols_o = fdt_path_offset(main_fdtp, "/__symbols__"); | main_symbols_o = fdt_path_offset(main_fdtp, "/__symbols__"); | ||||
overlay_fixups_o = fdt_path_offset(overlay_fdtp, "/__fixups__"); | overlay_fixups_o = fdt_path_offset(overlay_fdtp, "/__fixups__"); | ||||
if (main_symbols_o < 0) | if (main_symbols_o < 0) | ||||
return (-1); | return (-1); | ||||
if (overlay_fixups_o < 0) | if (overlay_fixups_o < 0) { | ||||
if (overlay_fixups_o == -FDT_ERR_NOTFOUND) | |||||
return (0); | |||||
return (-1); | return (-1); | ||||
} | |||||
for (fixup_prop_o = fdt_first_property_offset(overlay_fdtp, overlay_fixups_o); | for (fixup_prop_o = fdt_first_property_offset(overlay_fdtp, overlay_fixups_o); | ||||
fixup_prop_o >= 0; | fixup_prop_o >= 0; | ||||
fixup_prop_o = fdt_next_property_offset(overlay_fdtp, fixup_prop_o)) { | fixup_prop_o = fdt_next_property_offset(overlay_fdtp, fixup_prop_o)) { | ||||
fixups = fdt_getprop_by_offset(overlay_fdtp, fixup_prop_o, &name, &len); | fixups = fdt_getprop_by_offset(overlay_fdtp, fixup_prop_o, &name, &len); | ||||
symbol_path = fdt_getprop(main_fdtp, main_symbols_o, name, NULL); | symbol_path = fdt_getprop(main_fdtp, main_symbols_o, name, NULL); | ||||
if (symbol_path == NULL) { | if (symbol_path == NULL) { | ||||
printf("couldn't find \"%s\" symbol in main dtb\n", name); | printf("couldn't find \"%s\" symbol in main dtb\n", name); | ||||
▲ Show 20 Lines • Show All 105 Lines • Show Last 20 Lines |