Hi,

On Thu, 13 Feb 2025 at 00:36, Manorit Chawdhry <m-chawd...@ti.com> wrote:
>
> From: Neha Malcom Francis <n-fran...@ti.com>
>
> Dynamically going through the subnode array and deleting leads to
> templates being skipped from deletion when templates are consecutive in
> the subnode list. Prevent this from happening by first parsing the DT
> and then deleting the nodes.
>
> Signed-off-by: Neha Malcom Francis <n-fran...@ti.com>
> Reviewed-by: Simon Glass <s...@chromium.org>
> ---
>  tools/binman/control.py | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/binman/control.py b/tools/binman/control.py
> index 
> e73c598298cef76cfdf4f0f8a021feac1e7b825a..81f61e3e152a9eab558cfc9667131a38082b61a1
>  100644
> --- a/tools/binman/control.py
> +++ b/tools/binman/control.py
> @@ -522,9 +522,13 @@ def _ProcessTemplates(parent):
>  def _RemoveTemplates(parent):
>      """Remove any templates in the binman description
>      """
> +    del_nodes = []
>      for node in parent.subnodes:
>          if node.name.startswith('template'):
> -            node.Delete()
> +            del_nodes.append(node)
> +
> +    for node in del_nodes:
> +        node.Delete()
>
>  def PrepareImagesAndDtbs(dtb_fname, select_images, update_fdt, use_expanded, 
> indir):
>      """Prepare the images to be processed and select the device tree
>
> --
> 2.34.1
>

Can you also please add a test for this, to check that the template is removed?

Regards,
Simon

Reply via email to