mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
binman: Record the parent section of each section
At present sections have no record of their parent so it is not possible to traverse up the tree to the root and figure out the position of a section within the image. Change the constructor to record this information. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -24,6 +24,7 @@ class Section(object):
|
|||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
_node: Node object that contains the section definition in device tree
|
_node: Node object that contains the section definition in device tree
|
||||||
|
_parent_section: Parent Section object which created this Section
|
||||||
_size: Section size in bytes, or None if not known yet
|
_size: Section size in bytes, or None if not known yet
|
||||||
_align_size: Section size alignment, or None
|
_align_size: Section size alignment, or None
|
||||||
_pad_before: Number of bytes before the first entry starts. This
|
_pad_before: Number of bytes before the first entry starts. This
|
||||||
@@ -46,14 +47,16 @@ class Section(object):
|
|||||||
section
|
section
|
||||||
_entries: OrderedDict() of entries
|
_entries: OrderedDict() of entries
|
||||||
"""
|
"""
|
||||||
def __init__(self, name, node, test=False):
|
def __init__(self, name, parent_section, node, image, test=False):
|
||||||
global entry
|
global entry
|
||||||
global Entry
|
global Entry
|
||||||
import entry
|
import entry
|
||||||
from entry import Entry
|
from entry import Entry
|
||||||
|
|
||||||
|
self._parent_section = parent_section
|
||||||
self._name = name
|
self._name = name
|
||||||
self._node = node
|
self._node = node
|
||||||
|
self._image = image
|
||||||
self._offset = 0
|
self._offset = 0
|
||||||
self._size = None
|
self._size = None
|
||||||
self._align_size = None
|
self._align_size = None
|
||||||
|
@@ -32,7 +32,8 @@ class Entry_section(Entry):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, section, etype, node):
|
def __init__(self, section, etype, node):
|
||||||
Entry.__init__(self, section, etype, node)
|
Entry.__init__(self, section, etype, node)
|
||||||
self._section = bsection.Section(node.name, node)
|
self._section = bsection.Section(node.name, section, node,
|
||||||
|
section._image)
|
||||||
|
|
||||||
def GetFdtSet(self):
|
def GetFdtSet(self):
|
||||||
return self._section.GetFdtSet()
|
return self._section.GetFdtSet()
|
||||||
|
@@ -42,7 +42,8 @@ class Image:
|
|||||||
self._size = None
|
self._size = None
|
||||||
self._filename = '%s.bin' % self._name
|
self._filename = '%s.bin' % self._name
|
||||||
if test:
|
if test:
|
||||||
self._section = bsection.Section('main-section', self._node, True)
|
self._section = bsection.Section('main-section', None, self._node,
|
||||||
|
self, True)
|
||||||
else:
|
else:
|
||||||
self._ReadNode()
|
self._ReadNode()
|
||||||
|
|
||||||
@@ -52,7 +53,7 @@ class Image:
|
|||||||
filename = fdt_util.GetString(self._node, 'filename')
|
filename = fdt_util.GetString(self._node, 'filename')
|
||||||
if filename:
|
if filename:
|
||||||
self._filename = filename
|
self._filename = filename
|
||||||
self._section = bsection.Section('main-section', self._node)
|
self._section = bsection.Section('main-section', None, self._node, self)
|
||||||
|
|
||||||
def GetFdtSet(self):
|
def GetFdtSet(self):
|
||||||
"""Get the set of device tree files used by this image"""
|
"""Get the set of device tree files used by this image"""
|
||||||
|
Reference in New Issue
Block a user