[RFC PATCH 1/4] common/image.c: image_decomp: put IH_COMP_XXX cases inside ifndef USE_HOSTCC
Simon Glass
sjg at google.com
Wed Jun 17 05:11:58 CEST 2020
Hi Rasmus,
On Fri, 12 Jun 2020 at 05:02, Rasmus Villemoes
<rasmus.villemoes at prevas.dk> wrote:
>
> When building host tools, the CONFIG_GZIP etc. symbols are not defined
> anyway, so this does not (should not) change anything [1]. However,
> since the host tools also don't include linux/kconfig.h, one cannot
> use the CONFIG_IS_ENABLED() smartness in a preprocessor conditional,
> which in turn prevents one from adding, say, an
>
> #if CONFIG_IS_ENABLED(ZSTD)
>
> case.
>
> OTOH, with this, one can do that, and it also makes it possible to
> convert say, "#ifdef CONFIG_GZIP" to "#if CONFIG_IS_ENABLED(GZIP)" to
> make those other cases SPL-or-not-SPL-aware.
>
> [1] The gzip.h header is only included under !USE_HOSTCC, and removing
> the CONFIG_GZIP conditional hence both gives an "no declaration of
> gunzip" warning as well as breaks the link of the host tools, since
> the gunzip code is indeed not linked in.
>
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
> ---
> common/image.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/common/image.c b/common/image.c
> index e1ca1a7905..73f6845274 100644
> --- a/common/image.c
> +++ b/common/image.c
> @@ -458,6 +458,7 @@ int image_decomp(int comp, ulong load, ulong image_start, int type,
> else
> ret = -ENOSPC;
> break;
> +#ifndef USE_HOSTCC
In general I'm not a fan of the USE_HOSTCC stuff. I suspect HOST
should be a Kconfig like anything else, although perhaps magically
inserted somehow. Then we can do more things at compile-time.
> #ifdef CONFIG_GZIP
> case IH_COMP_GZIP: {
> ret = gunzip(load_buf, unc_len, image_buf, &image_len);
> @@ -508,6 +509,7 @@ int image_decomp(int comp, ulong load, ulong image_start, int type,
> break;
> }
> #endif /* CONFIG_LZ4 */
> +#endif /* !USE_HOSTCC */
> default:
> printf("Unimplemented compression type %d\n", comp);
> return -ENOSYS;
> --
> 2.23.0
>
Regards,
Simon
More information about the U-Boot
mailing list