binman: Update fdt-list-dir to use the provided directory

Since the files are known to be in the provided directory, use that
instead of requiring it to be added to the list of input directories.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2024-08-26 13:11:34 -06:00
parent 8498d550c5
commit 52983ff54b
2 changed files with 14 additions and 3 deletions

View File

@ -96,7 +96,10 @@ class Entry_fit(Entry_section):
can be provided as a directory. Each .dtb file in the directory is
processed, , e.g.::
fit,fdt-list-dir = "arch/arm/dts
fit,fdt-list-dir = "arch/arm/dts";
In this case the input directories are ignored and all devicetree
files must be in that directory.
Substitutions
~~~~~~~~~~~~~
@ -671,7 +674,10 @@ class Entry_fit(Entry_section):
# Generate nodes for each FDT
for seq, fdt_fname in enumerate(self._fdts):
node_name = node.name[1:].replace('SEQ', str(seq + 1))
fname = tools.get_input_filename(fdt_fname + '.dtb')
if self._fdt_dir:
fname = os.path.join(self._fdt_dir, fdt_fname + '.dtb')
else:
fname = tools.get_input_filename(fdt_fname + '.dtb')
fdt_phase = None
with fsw.add_node(node_name):
for pname, prop in node.props.items():

View File

@ -7626,7 +7626,12 @@ fdt fdtmap Extract the devicetree blob from the fdtmap
def testFitFdtListDir(self):
"""Test an image with an FIT with FDT images using fit,fdt-list-dir"""
self.CheckFitFdt('333_fit_fdt_dir.dts', False)
old_dir = os.getcwd()
try:
os.chdir(self._indir)
self.CheckFitFdt('333_fit_fdt_dir.dts', False)
finally:
os.chdir(old_dir)
def testFitFdtCompat(self):
"""Test an image with an FIT with compatible in the config nodes"""