Hi Alper, On Tue, 15 Feb 2022 at 04:53, Alper Nebi Yasak <alpernebiya...@gmail.com> wrote: > > On 08/02/2022 21:49, Simon Glass wrote: > > Add a new function to add a string list. > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > --- > > > > tools/dtoc/fdt.py | 18 ++++++++++++++++++ > > tools/dtoc/test_fdt.py | 8 ++++++++ > > 2 files changed, 26 insertions(+) > > > > diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py > > index 32a7aa9829..e7197f8f12 100644 > > --- a/tools/dtoc/fdt.py > > +++ b/tools/dtoc/fdt.py > > @@ -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) > > If val is an empty list this would try to set a zero-byte data, but then > the Prop class considers that a boolean True.
Yes, but I believe that is correct, isn't it? I did propose a change to DT bool props but it has not got anywhere. > > Perhaps use "s" as the variable name as there's a "string" module > (though not imported here). > > Also, b'\0'.join() works just like in strings if you prefer that to a loop. OK, will update both of those. Regards, Simon