X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fimage-fdt.c;h=a2342fa3dfdd07c1de766200986cfac97579aa4d;hb=1e3d64031608d668509b6fe0825f7708bb6b6a0d;hp=7795b80ccf8f3d4cf591d4d32a944e57d6248d82;hpb=7c387646060c6221836b332f5d0e0c9771ab99c1;p=u-boot diff --git a/common/image-fdt.c b/common/image-fdt.c index 7795b80ccf..a2342fa3df 100644 --- a/common/image-fdt.c +++ b/common/image-fdt.c @@ -450,7 +450,7 @@ __weak int ft_verify_fdt(void *fdt) return 1; } -__weak int arch_fixup_memory_node(void *blob) +__weak int arch_fixup_fdt(void *blob) { return 0; } @@ -467,7 +467,10 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob, puts(" - must RESET the board to recover.\n"); return -1; } - arch_fixup_memory_node(blob); + if (arch_fixup_fdt(blob) < 0) { + puts("ERROR: arch specific fdt fixup failed"); + return -1; + } if (IMAGE_OF_BOARD_SETUP) ft_board_setup(blob, gd->bd); fdt_fixup_ethernet(blob); @@ -476,7 +479,7 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob, lmb_free(lmb, (phys_addr_t)(u32)(uintptr_t)blob, (phys_size_t)fdt_totalsize(blob)); - ret = fdt_resize(blob); + ret = fdt_shrink_to_minimum(blob); if (ret < 0) return ret; of_size = ret;