mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
dtoc: Support adding a string list to a device tree
Add a new function to add a string list. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
38c04d8e06
commit
bc116029c0
2 changed files with 26 additions and 0 deletions
|
@ -501,6 +501,24 @@ class Node:
|
|||
val = bytes(val, 'utf-8')
|
||||
return self.AddData(prop_name, val + b'\0')
|
||||
|
||||
def AddStringList(self, prop_name, val):
|
||||
"""Add a new string-list property to a node
|
||||
|
||||
The device tree is marked dirty so that the value will be written to
|
||||
the blob on the next sync.
|
||||
|
||||
Args:
|
||||
prop_name: Name of property to add
|
||||
val (list of str): List of strings to add
|
||||
|
||||
Returns:
|
||||
Prop added
|
||||
"""
|
||||
out = b''
|
||||
for string in val:
|
||||
out += bytes(string, 'utf-8') + b'\0'
|
||||
return self.AddData(prop_name, out)
|
||||
|
||||
def AddInt(self, prop_name, val):
|
||||
"""Add a new integer property to a node
|
||||
|
||||
|
|
|
@ -531,6 +531,14 @@ class TestProp(unittest.TestCase):
|
|||
self.node.AddData('data', tools.get_bytes(65, 20000))
|
||||
self.dtb.Sync(auto_resize=True)
|
||||
|
||||
def test_string_list(self):
|
||||
"""Test adding string-list property to a node"""
|
||||
val = ['123', '456']
|
||||
self.node.AddStringList('stringlist', val)
|
||||
self.dtb.Sync(auto_resize=True)
|
||||
data = self.fdt.getprop(self.node.Offset(), 'stringlist')
|
||||
self.assertEqual(b'123\x00456\0', data)
|
||||
|
||||
def testFromData(self):
|
||||
dtb2 = fdt.Fdt.FromData(self.dtb.GetContents())
|
||||
self.assertEqual(dtb2.GetContents(), self.dtb.GetContents())
|
||||
|
|
Loading…
Add table
Reference in a new issue