summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-01-12 02:10:15 +0300
committerSimon Glass <sjg@chromium.org>2023-01-19 00:55:40 +0300
commit97fb8081ec0c8009ff5e70c054e8ece08e4465ed (patch)
tree121a11ac9718477dea939980b757af792503ce3f /tools
parent62ef2f7bf3c442b6f717d2fbe823d579cf090dd8 (diff)
downloadu-boot-97fb8081ec0c8009ff5e70c054e8ece08e4465ed.tar.xz
binman: Add a function to check for special section nodes
This appears in two places in the code. Use a shared function instead. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/etype/fit.py3
-rw-r--r--tools/binman/etype/section.py13
2 files changed, 13 insertions, 3 deletions
diff --git a/tools/binman/etype/fit.py b/tools/binman/etype/fit.py
index f0e3fd1a09..0e9d81b9e8 100644
--- a/tools/binman/etype/fit.py
+++ b/tools/binman/etype/fit.py
@@ -655,8 +655,7 @@ class Entry_fit(Entry_section):
for subnode in node.subnodes:
subnode_path = f'{rel_path}/{subnode.name}'
- if has_images and not (subnode.name.startswith('hash') or
- subnode.name.startswith('signature')):
+ if has_images and not self.IsSpecialSubnode(subnode):
# This subnode is a content node not meant to appear in
# the FIT (e.g. "/images/kernel/u-boot"), so don't call
# fsw.add_node() or _add_node() for it.
diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py
index 28f04cb84a..a22be7ec77 100644
--- a/tools/binman/etype/section.py
+++ b/tools/binman/etype/section.py
@@ -169,6 +169,17 @@ class Entry_section(Entry):
self._ignore_missing = False
self._filename = None
+ def IsSpecialSubnode(self, node):
+ """Check if a node is a special one used by the section itself
+
+ Some notes are used for hashing / signatures and do not add entries to
+ the actual section.
+
+ Returns:
+ bool: True if the node is a special one, else False
+ """
+ return node.name.startswith('hash') or node.name.startswith('signature')
+
def ReadNode(self):
"""Read properties from the section node"""
super().ReadNode()
@@ -195,7 +206,7 @@ class Entry_section(Entry):
def ReadEntries(self):
for node in self._node.subnodes:
- if node.name.startswith('hash') or node.name.startswith('signature'):
+ if self.IsSpecialSubnode(node):
continue
entry = Entry.Create(self, node,
expanded=self.GetImage().use_expanded,