[PATCH] compressed dtb: Make sure they are only available when supported

Sascha Hauer s.hauer at pengutronix.de
Mon Feb 14 02:12:00 PST 2022


A board has to select CONFIG_USE_COMPRESSED_DTB either directly or
through arch specific options when it uses compressed dtbs. This is
easily forgotten. barebox compiles fine, but during runtime the
decompression code is missing and barebox won't start. As this happens
in the PBL possibly without output this may be unnecessarily hard to
debug.

Make sure compilation fails when a board uses compressed dtbs but
didn't select CONFIG_USE_COMPRESSED_DTB.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 scripts/gen-dtb-s | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/gen-dtb-s b/scripts/gen-dtb-s
index 4f8c62a0b8..1027db2804 100755
--- a/scripts/gen-dtb-s
+++ b/scripts/gen-dtb-s
@@ -58,6 +58,7 @@ fi
 compressed=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" $dtb.lzo)
 uncompressed=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" $dtb)
 
+echo "#ifdef CONFIG_USE_COMPRESSED_DTB"
 echo ".section .dtbz.rodata.${name},\"a\""
 echo ".balign STRUCT_ALIGNMENT"
 echo ".global __dtb_z_${name}_start"
@@ -69,3 +70,4 @@ echo ".incbin \"$dtb.lzo\""
 echo "__dtb_z_${name}_end:"
 echo ".global __dtb_z_${name}_end"
 echo ".balign STRUCT_ALIGNMENT"
+echo "#endif"
-- 
2.30.2




More information about the barebox mailing list