Tom, I have tried various things but CONFIG_IS_ENABLED won't work inside of switch case. It works fine outside of if though.
On Tue, May 5, 2020 at 11:19 PM Robert Marko <[email protected]> wrote: > > > > On Mon, May 4, 2020 at 3:04 PM Tom Rini <[email protected]> wrote: >> >> 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. > > Unfortunately, it does not help. > Preprocessor throws the same error >> >> >> > >> > >> > On Fri, May 1, 2020 at 6:42 PM Tom Rini <[email protected]> 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 <[email protected]> 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 <[email protected]> >> > > > > > Cc: Luka Perkov <[email protected]> >> > > > > > --- >> > > > > > 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 >> > > >> >> -- >> Tom

