Treat missing compression node in FIT image as IH_COMP_NONE. This is implicentely already happening in most places, but for now was still triggering an annoying warning about initramfs compression being obsolete despite compression note being absent. Fix this. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From b2c109c012ca946baebbb23e7f4301f6eee4c6f3 Mon Sep 17 00:00:00 2001
 | 
						|
From: Daniel Golle <daniel@makrotopia.org>
 | 
						|
Date: Mon, 15 Aug 2022 12:15:50 +0200
 | 
						|
Subject: [PATCH 2/2] image-fit: don't set compression if it can't be read
 | 
						|
 | 
						|
fit_image_get_comp() should not set value -1 in case it can't read
 | 
						|
the compression node. Instead, leave the value untouched in that case
 | 
						|
as it can be absent and a default value previously defined by the
 | 
						|
caller of fit_image_get_comp() should be used.
 | 
						|
 | 
						|
As a result the warning message
 | 
						|
WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
 | 
						|
no longer shows if the compression node is actually absent.
 | 
						|
 | 
						|
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
						|
---
 | 
						|
 boot/bootm.c     | 6 ++----
 | 
						|
 boot/image-fit.c | 3 +--
 | 
						|
 cmd/ximg.c       | 7 ++-----
 | 
						|
 3 files changed, 5 insertions(+), 11 deletions(-)
 | 
						|
 | 
						|
--- a/boot/bootm.c
 | 
						|
+++ b/boot/bootm.c
 | 
						|
@@ -1024,10 +1024,8 @@ static int bootm_host_load_image(const v
 | 
						|
 		return -EINVAL;
 | 
						|
 	}
 | 
						|
 
 | 
						|
-	if (fit_image_get_comp(fit, noffset, &image_comp)) {
 | 
						|
-		puts("Can't get image compression!\n");
 | 
						|
-		return -EINVAL;
 | 
						|
-	}
 | 
						|
+	if (fit_image_get_comp(fit, noffset, &image_comp))
 | 
						|
+		image_comp = IH_COMP_NONE;
 | 
						|
 
 | 
						|
 	/* Allow the image to expand by a factor of 4, should be safe */
 | 
						|
 	load_buf = malloc((1 << 20) + len * 4);
 | 
						|
--- a/boot/image-fit.c
 | 
						|
+++ b/boot/image-fit.c
 | 
						|
@@ -477,7 +477,7 @@ void fit_print_contents(const void *fit)
 | 
						|
 void fit_image_print(const void *fit, int image_noffset, const char *p)
 | 
						|
 {
 | 
						|
 	char *desc;
 | 
						|
-	uint8_t type, arch, os, comp;
 | 
						|
+	uint8_t type, arch, os, comp = IH_COMP_NONE;
 | 
						|
 	size_t size;
 | 
						|
 	ulong load, entry;
 | 
						|
 	const void *data;
 | 
						|
@@ -794,7 +794,6 @@ int fit_image_get_comp(const void *fit,
 | 
						|
 	data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len);
 | 
						|
 	if (data == NULL) {
 | 
						|
 		fit_get_debug(fit, noffset, FIT_COMP_PROP, len);
 | 
						|
-		*comp = -1;
 | 
						|
 		return -1;
 | 
						|
 	}
 | 
						|
 
 | 
						|
--- a/cmd/ximg.c
 | 
						|
+++ b/cmd/ximg.c
 | 
						|
@@ -171,11 +171,8 @@ do_imgextract(struct cmd_tbl *cmdtp, int
 | 
						|
 			return 1;
 | 
						|
 		}
 | 
						|
 
 | 
						|
-		if (fit_image_get_comp(fit_hdr, noffset, &comp)) {
 | 
						|
-			puts("Could not find script subimage "
 | 
						|
-				"compression type\n");
 | 
						|
-			return 1;
 | 
						|
-		}
 | 
						|
+		if (fit_image_get_comp(fit_hdr, noffset, &comp))
 | 
						|
+			comp = IH_COMP_NONE;
 | 
						|
 
 | 
						|
 		data = (ulong)fit_data;
 | 
						|
 		len = (ulong)fit_len;
 |