Skip to content

Commit

Permalink
binman: Adjust _GetPropTree() parameters
Browse files Browse the repository at this point in the history
At present this function takes a filename, but it is better to use an Fdt
object so that the caller can control this, perhaps obtainint the device
tree from a bytearray. Update the method accordingly and also fix a
confusing parameter name.

Signed-off-by: Simon Glass <[email protected]>
  • Loading branch information
sjg20 committed Aug 1, 2018
1 parent 15a587c commit cee02e6
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions tools/binman/ftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,21 +353,19 @@ def GetFdtLen(self, dtb):
"""
return struct.unpack('>L', dtb[4:8])[0]

def _GetPropTree(self, dtb_data, node_names):
def _GetPropTree(self, dtb, prop_names):
def AddNode(node, path):
if node.name != '/':
path += '/' + node.name
for subnode in node.subnodes:
for prop in subnode.props.values():
if prop.name in node_names:
if prop.name in prop_names:
prop_path = path + '/' + subnode.name + ':' + prop.name
tree[prop_path[len('/binman/'):]] = fdt_util.fdt32_to_cpu(
prop.value)
AddNode(subnode, path)

tree = {}
dtb = fdt.Fdt(dtb_data)
dtb.Scan()
AddNode(dtb.GetRoot(), '')
return tree

Expand Down Expand Up @@ -1092,11 +1090,9 @@ def testUpdateFdt(self):
"""Test that we can update the device tree with offset/size info"""
_, _, _, out_dtb_fname = self._DoReadFileDtb('60_fdt_update.dts',
update_dtb=True)
props = self._GetPropTree(out_dtb_fname, ['offset', 'size',
'image-pos'])
with open('/tmp/x.dtb', 'wb') as outf:
with open(out_dtb_fname) as inf:
outf.write(inf.read())
dtb = fdt.Fdt(out_dtb_fname)
dtb.Scan()
props = self._GetPropTree(dtb, ['offset', 'size', 'image-pos'])
self.assertEqual({
'image-pos': 0,
'offset': 0,
Expand Down

0 comments on commit cee02e6

Please sign in to comment.