From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Simon Glass <sjg@chromium.org>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>,
Mark Kettenis <mark.kettenis@xs4all.nl>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Tom Rini <trini@konsulko.com>, Sean Anderson <seanga2@gmail.com>,
Jerry Van Baren <vanbaren@cideas.com>
Subject: Re: [PATCH v5 19/26] fdt: Move MULTI_DTB_FIT handling out of fdtdec_setup()
Date: Fri, 29 Oct 2021 08:49:22 +0300 [thread overview]
Message-ID: <YXuLYky7VCx7dRiz@enceladus> (raw)
In-Reply-To: <20211026002344.405160-20-sjg@chromium.org>
Hi Simon,
Since those patch series are too long and borderline unreviewable, I'd much
rather split them on different patchsets (i.e one with cleanups and one
with the actual proposal).
On Mon, Oct 25, 2021 at 06:23:37PM -0600, Simon Glass wrote:
> This logic is a bit convoluted for one function. Move the mulit-FIT part
> into its own function.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> (no changes since v1)
>
> lib/fdtdec.c | 62 ++++++++++++++++++++++++++++++++--------------------
> 1 file changed, 38 insertions(+), 24 deletions(-)
>
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 688741108c7..58ea8f70cfe 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -1591,13 +1591,46 @@ __weak int fdtdec_board_setup(const void *fdt_blob)
> return 0;
> }
>
> +/**
> + * setup_multi_dtb_fit() - locate the correct dtb from a FIT
> + *
> + * This supports the CONFIG_MULTI_DTB_FIT feature, looking for the dtb in a
> + * supplied FIT
> + *
> + * It accepts the current value of gd->fdt_blob, which points to the FIT, then
> + * updates that gd->fdt_blob, to point to the chosen dtb so that U-Boot uses the
> + * correct one
> + */
> +static void setup_multi_dtb_fit(void)
> +{
> +# if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
> + void *blob;
> +
> + /*
> + * Try and uncompress the blob.
> + * Unfortunately there is no way to know how big the input blob really
> + * is. So let us set the maximum input size arbitrarily high. 16MB
> + * ought to be more than enough for packed DTBs.
> + */
> + if (uncompress_blob(gd->fdt_blob, 0x1000000, &blob) == 0)
> + gd->fdt_blob = blob;
> +
> + /*
> + * Check if blob is a FIT images containings DTBs.
> + * If so, pick the most relevant
> + */
> + blob = locate_dtb_in_fit(gd->fdt_blob);
> + if (blob) {
> + gd->multi_dtb_fit = gd->fdt_blob;
> + gd->fdt_blob = blob;
> + }
> +#endif /* # MULTI_DTB_FIT */
> +}
> +
> int fdtdec_setup(void)
> {
> int ret;
> #if CONFIG_IS_ENABLED(OF_CONTROL)
> -# if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
> - void *fdt_blob;
> -# endif
> # ifdef CONFIG_OF_EMBED
> /* Get a pointer to the FDT */
> # ifdef CONFIG_SPL_BUILD
> @@ -1616,27 +1649,8 @@ int fdtdec_setup(void)
> (unsigned long)map_to_sysmem(gd->fdt_blob)), 0);
> # endif
>
> -# if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
> - /*
> - * Try and uncompress the blob.
> - * Unfortunately there is no way to know how big the input blob really
> - * is. So let us set the maximum input size arbitrarily high. 16MB
> - * ought to be more than enough for packed DTBs.
> - */
> - if (uncompress_blob(gd->fdt_blob, 0x1000000, &fdt_blob) == 0)
> - gd->fdt_blob = fdt_blob;
> -
> - /*
> - * Check if blob is a FIT images containings DTBs.
> - * If so, pick the most relevant
> - */
> - fdt_blob = locate_dtb_in_fit(gd->fdt_blob);
> - if (fdt_blob) {
> - gd->multi_dtb_fit = gd->fdt_blob;
> - gd->fdt_blob = fdt_blob;
> - }
> -
> -# endif
> + if (CONFIG_IS_ENABLED(MULTI_DTB_FIT))
> + setup_multi_dtb_fit();
> #endif
>
> ret = fdtdec_prepare_fdt();
> --
> 2.33.0.1079.g6e70778dc9-goog
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
next prev parent reply other threads:[~2021-10-29 5:49 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-26 0:23 [PATCH v5 00/26] fdt: Make OF_BOARD a boolean option Simon Glass
2021-10-26 0:23 ` [PATCH v5 01/26] sandbox: Remove OF_HOSTFILE Simon Glass
2021-10-26 0:23 ` [PATCH v5 02/26] doc: Add documentation about devicetree usage Simon Glass
2021-10-26 14:06 ` Ilias Apalodimas
2021-10-26 15:27 ` Simon Glass
2021-10-27 9:29 ` Ilias Apalodimas
2021-10-26 14:31 ` François Ozog
2021-10-26 15:27 ` Simon Glass
2021-10-26 15:57 ` François Ozog
2021-10-27 14:13 ` Simon Glass
2021-10-27 15:38 ` François Ozog
2021-10-27 18:32 ` Simon Glass
2021-10-27 19:12 ` Ilias Apalodimas
2021-10-27 19:52 ` Simon Glass
2021-10-29 10:20 ` Ilias Apalodimas
2021-11-01 15:19 ` Tom Rini
2021-11-02 14:53 ` Simon Glass
2021-11-02 15:38 ` Ilias Apalodimas
2021-11-03 3:29 ` Simon Glass
2021-10-29 17:07 ` François Ozog
2021-11-02 14:53 ` Simon Glass
2021-10-27 19:46 ` François Ozog
2021-10-27 19:48 ` Tom Rini
2021-10-27 20:13 ` François Ozog
2021-10-26 0:23 ` [PATCH v5 03/26] arm: qemu: Mention -nographic in the docs Simon Glass
2021-10-26 0:23 ` [PATCH v5 04/26] arm: riscv: qemu: Explain how to extract the generated dt Simon Glass
2021-10-26 0:23 ` [PATCH v5 05/26] arm: qemu: Add a devicetree file for qemu_arm Simon Glass
2021-10-26 0:23 ` [PATCH v5 06/26] arm: qemu: Add a devicetree file for qemu_arm64 Simon Glass
2021-11-01 10:48 ` Peter Maydell
2021-11-01 16:58 ` Simon Glass
2021-11-01 17:33 ` François Ozog
2021-11-01 18:07 ` Tom Rini
2021-11-02 15:00 ` Simon Glass
2021-11-02 17:28 ` Tom Rini
2021-11-03 1:29 ` Simon Glass
2021-11-03 5:29 ` François Ozog
2021-11-03 14:41 ` Tom Rini
2021-11-04 11:09 ` Peter Maydell
2021-11-04 11:22 ` François Ozog
2021-11-04 11:41 ` Peter Maydell
2021-11-04 11:48 ` François Ozog
2021-11-03 14:44 ` François Ozog
2021-11-03 14:39 ` Tom Rini
2021-11-02 14:59 ` Simon Glass
2021-11-02 16:57 ` Tom Rini
2021-11-03 1:32 ` Simon Glass
2021-11-03 14:39 ` Tom Rini
2021-10-26 0:23 ` [PATCH v5 07/26] riscv: qemu: Add devicetree files for qemu_riscv32/64 Simon Glass
2021-10-26 0:23 ` [PATCH v5 08/26] arm: rpi: Add a devicetree file for rpi_4 Simon Glass
2021-10-26 0:23 ` [PATCH v5 09/26] arm: vexpress: Add a devicetree file for juno Simon Glass
2021-10-26 0:23 ` [PATCH v5 10/26] arm: xenguest_arm64: Add a fake devicetree file Simon Glass
2021-10-26 0:23 ` [PATCH v5 11/26] arm: octeontx: " Simon Glass
2021-10-26 0:23 ` [PATCH v5 12/26] arm: xilinx_versal_virt: Add a " Simon Glass
2021-10-26 0:23 ` [PATCH v5 13/26] arm: bcm7xxx: " Simon Glass
2021-10-26 0:23 ` [PATCH v5 14/26] arm: qemu-ppce500: " Simon Glass
2021-10-26 0:23 ` [PATCH v5 15/26] arm: highbank: Add a fake " Simon Glass
2021-10-26 0:23 ` [PATCH v5 16/26] fdt: Make OF_BOARD a bool option Simon Glass
2021-10-26 0:23 ` [PATCH v5 17/26] Drop CONFIG_BINMAN_STANDALONE_FDT Simon Glass
2021-10-26 0:23 ` [PATCH v5 18/26] doc: Update info on devicetree update Simon Glass
2021-10-26 0:23 ` [PATCH v5 19/26] fdt: Move MULTI_DTB_FIT handling out of fdtdec_setup() Simon Glass
2021-10-29 5:49 ` Ilias Apalodimas [this message]
2021-10-26 0:23 ` [PATCH v5 20/26] fdt: Drop #ifdefs with MULTI_DTB_FIT Simon Glass
2021-10-29 5:55 ` Ilias Apalodimas
2021-10-26 0:23 ` [PATCH v5 21/26] fdt: Drop CONFIG_SPL_BUILD check in fdtdec_setup() Simon Glass
2021-10-26 0:23 ` [PATCH v5 22/26] fdt: Drop #ifdef around board_fdt_blob_setup() Simon Glass
2021-10-26 0:23 ` [PATCH v5 25/26] fdt: Drop remaining preprocessor macros in fdtdec_setup() Simon Glass
2021-10-26 0:23 ` [PATCH v5 26/26] fdt: Don't call board_fdt_blob_setup() without OF_BOARD Simon Glass
2021-10-26 13:55 ` Ilias Apalodimas
2021-10-26 15:27 ` Simon Glass
2021-10-27 7:17 ` Ilias Apalodimas
2021-10-27 19:12 ` Tom Rini
2021-10-27 21:33 ` François Ozog
2021-10-27 21:44 ` Tom Rini
2021-10-26 6:07 ` [PATCH v5 00/26] fdt: Make OF_BOARD a boolean option François Ozog
2021-10-27 14:08 ` Simon Glass
2021-10-27 15:14 ` François Ozog
2021-10-27 18:23 ` Simon Glass
2021-10-27 19:25 ` Tom Rini
2021-11-03 16:45 ` Simon Glass
2021-11-03 17:21 ` Tom Rini
2021-10-27 20:07 ` François Ozog
2021-11-03 1:20 ` Simon Glass
2021-11-03 4:45 ` François Ozog
2021-10-27 22:30 ` Mark Kettenis
2021-11-03 1:20 ` Simon Glass
2021-11-03 8:22 ` Mark Kettenis
2021-11-03 16:02 ` Tom Rini
2021-11-03 16:45 ` Simon Glass
2021-11-03 17:36 ` Mark Kettenis
2021-11-03 15:56 ` Tom Rini
2021-11-03 16:45 ` Simon Glass
2021-10-27 15:36 ` Tuomas Tynkkynen
2021-10-27 19:13 ` Tom Rini
2021-10-27 18:16 ` Tom Rini
2021-10-27 18:24 ` Tom Rini
2021-11-03 17:13 ` François Ozog
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YXuLYky7VCx7dRiz@enceladus \
--to=ilias.apalodimas@linaro.org \
--cc=mark.kettenis@xs4all.nl \
--cc=seanga2@gmail.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=vanbaren@cideas.com \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox