On Wed, Feb 13, 2019 at 10:38:09PM +0100, Heinrich Schuchardt wrote:
> The SPL image for the Tinker Board has to fit into 32 KiB. This includes
> 4 KiB for the device tree and up to 2 KiB for the file header.
> 
> A new configuration variable CONFIG_SPL_WITH_DTB_SIZE_LIMIT is introduced
> to define the board specific limit.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
> ---
> v2
>       Instead of using CONFIG_SPL_MAX_SIZE with an estimate of the FDT
>       size introduce a new test in scripts/Makefile.spl.
[snip]
> +ifneq ($(CONFIG_SPL_WITH_DTB_SIZE_LIMIT),0)
> +SPL_WITH_DTB_SIZE_CHECK = \
> +     @actual=`wc -c $@ | awk '{print $$1}'`; \
> +     limit=`printf "%d" $(CONFIG_SPL_WITH_DTB_SIZE_LIMIT)`; \
> +     if test $$actual -gt $$limit; then \
> +             echo "$@ exceeds file size limit:" >&2 ; \
> +             echo "  limit:  $$limit bytes" >&2 ; \
> +             echo "  actual: $$actual bytes" >&2 ; \
> +             echo "  excess: $$((actual - limit)) bytes" >&2; \
> +             exit 1; \
> +     fi
> +else
> +SPL_WITH_DTB_SIZE_CHECK =
> +endif

OK, but now we have 3 copies of this logic.  Can we not define a
function and pass the limit in to it?  Then we'd have a few things like:
ifneq ($(CONFIG_xxx_MAX_SIZE),0)
xxx_SIZE_CHECK = ... call func with $@ and size
else
xxx_SIZE_CHECK =
endif

Or do we need something else to avoid duplicating this in so many
places?

-- 
Tom

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to