[U-Boot] [PATCH v2 4/5] fdt: boot_get_fdt: android: compress handling (non-functional)

Eugeniu Rosca erosca at de.adit-jv.com
Mon Apr 1 10:45:36 UTC 2019


Prepare for booting Android images which lack any DTB in the second
area by using 'fdtaddr' environment variable as source/address of FDT.
No functional/behavioral change expected in this patch.

Signed-off-by: Eugeniu Rosca <erosca at de.adit-jv.com>
---
Changes in v2:
 - Restored fdt_totalsize() check
 - Link v1: https://patchwork.ozlabs.org/patch/1071590/
---
 common/image-fdt.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/common/image-fdt.c b/common/image-fdt.c
index 68bcab85baf4..a5d8b41d0209 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -461,17 +461,16 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 		struct andr_img_hdr *hdr = buf;
 		ulong fdt_data, fdt_len;
 
-		if (android_image_get_second(hdr, &fdt_data, &fdt_len) != 0)
-			goto no_fdt;
+		if (!android_image_get_second(hdr, &fdt_data, &fdt_len) &&
+		    !fdt_check_header((char *)fdt_data)) {
+			fdt_blob = (char *)fdt_data;
+			if (fdt_totalsize(fdt_blob) != fdt_len)
+				goto error;
 
-		fdt_blob = (char *)fdt_data;
-		if (fdt_check_header(fdt_blob) != 0)
+			debug("## Using FDT in Android image second area\n");
+		} else {
 			goto no_fdt;
-
-		if (fdt_totalsize(fdt_blob) != fdt_len)
-			goto error;
-
-		debug("## Using FDT found in Android image second area\n");
+		}
 #endif
 	} else {
 		debug("## No Flattened Device Tree\n");
-- 
2.21.0



More information about the U-Boot mailing list