[PATCH 2/2] tools: binman: etype: fit: Append DTB directory to the list of input directories

Simon Glass sjg at chromium.org
Fri Dec 6 20:16:04 CET 2024


Hi Paul,

On Mon, 25 Nov 2024 at 11:17, Paul HENRYS
<paul.henrys_ext at softathome.com> wrote:
>
> When specifying a directory containing DTBs with 'fit,fdt-list-dir', it can be
> handy not to have to also specify this directory to the input directories of
> binman with '-I' option and use the method tools.append_input_dirs() append it.
> This avoids to have to specify the DTB directory in both the device tree
> provided to binman and through '-I' option to binman.
>
> Signed-off-by: Paul HENRYS <paul.henrys_ext at softathome.com>
> ---
>  tools/binman/etype/fit.py | 2 ++
>  tools/binman/ftest.py     | 5 ++++-
>  2 files changed, 6 insertions(+), 1 deletion(-)
>

Reviewed-by: Simon Glass <sjg at chromium.org>

But please add something to the FIT docs (and regenerate entries.rst)
so people know about this.

I would actually prefer something ephemeral, i.e. that just adds the
extra dirs for FIT and not the whole of Binman, but that's a minor
point and would be more complicated to implement.

> diff --git a/tools/binman/etype/fit.py b/tools/binman/etype/fit.py
> index 343094a16e..803fb66ea8 100644
> --- a/tools/binman/etype/fit.py
> +++ b/tools/binman/etype/fit.py
> @@ -477,6 +477,8 @@ class Entry_fit(Entry_section):
>              self._fdt_dir = fdt_util.GetString(self._node, 'fit,fdt-list-dir')
>              if self._fdt_dir:
>                  indir = tools.get_input_filename(self._fdt_dir)
> +                if indir:
> +                    tools.append_input_dirs(indir)
>                  fdts = glob.glob('*.dtb', root_dir=indir)
>                  self._fdts = [os.path.splitext(f)[0] for f in sorted(fdts)]
>              else:
> diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
> index 4a2a9f2288..a553ca9e56 100644
> --- a/tools/binman/ftest.py
> +++ b/tools/binman/ftest.py
> @@ -4285,14 +4285,17 @@ class TestFunctional(unittest.TestCase):
>          entry_args = {
>              'default-dt': 'test-fdt2',
>          }
> +        extra_indirs = None
>          if use_fdt_list:
>              entry_args['of-list'] = 'test-fdt1 test-fdt2'
>          if default_dt:
>              entry_args['default-dt'] = default_dt
> +        if use_fdt_list:
> +            extra_indirs = [os.path.join(self._indir, TEST_FDT_SUBDIR)]
>          data = self._DoReadFileDtb(
>              dts,
>              entry_args=entry_args,
> -            extra_indirs=[os.path.join(self._indir, TEST_FDT_SUBDIR)])[0]
> +            extra_indirs=extra_indirs)[0]
>          self.assertEqual(U_BOOT_NODTB_DATA, data[-len(U_BOOT_NODTB_DATA):])
>          fit_data = data[len(U_BOOT_DATA):-len(U_BOOT_NODTB_DATA)]
>
> --
> 2.43.0
>

Regards,
Simon


More information about the U-Boot mailing list