mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 13:14:19 +08:00
dtoc: Add a way to create an Fdt object from a data block
Support creating an Fdt object without having to write the data to a file first. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
6434961b2b
commit
746aee3f2f
@ -472,6 +472,20 @@ class Fdt:
|
||||
with open(self._fname) as fd:
|
||||
self._fdt_obj = libfdt.Fdt(fd.read())
|
||||
|
||||
@staticmethod
|
||||
def FromData(data):
|
||||
"""Create a new Fdt object from the given data
|
||||
|
||||
Args:
|
||||
data: Device-tree data blob
|
||||
|
||||
Returns:
|
||||
Fdt object containing the data
|
||||
"""
|
||||
fdt = Fdt(None)
|
||||
fdt._fdt_obj = libfdt.Fdt(bytearray(data))
|
||||
return fdt
|
||||
|
||||
def LookupPhandle(self, phandle):
|
||||
"""Look up a phandle
|
||||
|
||||
|
@ -407,6 +407,14 @@ class TestProp(unittest.TestCase):
|
||||
self.node.SetData('empty', '123')
|
||||
self.assertEqual('123', prop.bytes)
|
||||
|
||||
def testFromData(self):
|
||||
dtb2 = fdt.Fdt.FromData(self.dtb.GetContents())
|
||||
self.assertEqual(dtb2.GetContents(), self.dtb.GetContents())
|
||||
|
||||
self.node.AddEmptyProp('empty', 5)
|
||||
self.dtb.Sync(auto_resize=True)
|
||||
self.assertTrue(dtb2.GetContents() != self.dtb.GetContents())
|
||||
|
||||
|
||||
class TestFdtUtil(unittest.TestCase):
|
||||
"""Tests for the fdt_util module
|
||||
|
Loading…
Reference in New Issue
Block a user