
On Sun, May 03, 2020 at 12:24:14PM +0200, Robert Marko wrote:
Hi,
I checked and SPL_ZSTD symbol already exists. But trying to use #if CONFIG_IS_ENABLED(ZSTD) inside of the switch case will fail with the preprocessor error: In file included from tools/common/image.c:1:
Ah right, oops.
./tools/../common/image.c: In function ‘image_decomp’: ./tools/../common/image.c:510:22: error: missing binary operator before token "(" 510 | #if CONFIG_IS_ENABLED(ZSTD)
Outside of the switch_case it works fine
Sounds like <linux/kconfig.h> needs an explicit #include then.
On Fri, May 1, 2020 at 6:42 PM Tom Rini trini@konsulko.com wrote:
On Fri, May 01, 2020 at 05:15:41PM +0200, Robert Marko wrote:
On Fri, May 1, 2020 at 4:56 PM Tom Rini trini@konsulko.com wrote:
On Sat, Apr 25, 2020 at 07:37:21PM +0200, Robert Marko wrote:
This patch adds support for ZSTD decompression of FIT images.
Signed-off-by: Robert Marko robert.marko@sartura.hr Cc: Luka Perkov luka.perkov@sartura.hr
common/image.c | 52
+++++++++++++++++++++++++++++++++++++++++++++++++
include/image.h | 1 + 2 files changed, 53 insertions(+)
diff --git a/common/image.c b/common/image.c index 94873cb6ed..70ba0f4328 100644 --- a/common/image.c +++ b/common/image.c @@ -42,6 +42,7 @@ #include <lzma/LzmaTypes.h> #include <lzma/LzmaDec.h> #include <lzma/LzmaTools.h> +#include <linux/zstd.h>
#ifdef CONFIG_CMD_BDI extern int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *
const argv[]);
@@ -193,6 +194,7 @@ static const table_entry_t uimage_comp[] = { { IH_COMP_LZMA, "lzma", "lzma compressed",
},
{ IH_COMP_LZO, "lzo", "lzo compressed",
},
{ IH_COMP_LZ4, "lz4", "lz4 compressed",
},
{ IH_COMP_ZSTD, "zstd", "zstd compressed",
},
{ -1, "", "",
},
};
@@ -480,6 +482,56 @@ int image_decomp(int comp, ulong load, ulong
image_start, int type,
break; }
#endif /* CONFIG_LZ4 */ +#ifdef CONFIG_ZSTD
We need to add SPL_ZSTD as a symbol to lib/Kconfig and then use CONFIG_IS_ENABLED() tests here to avoid growth in SPL. Thanks!
Hi, is that something that I need to do or?
Yes. You need to add the symbol, and then the code you're adding needs to make use of '#if CONFIG_IS_ENABLED(ZSTD)' rather than '#ifdef CONFIG_ZSTD'. Sorry for not being clear enough.
-- Tom