Hi Alper, On Thu, 3 Mar 2022 at 14:14, Alper Nebi Yasak <alpernebiya...@gmail.com> wrote: > > On 24/02/2022 01:58, Simon Glass wrote: > > On Tue, 15 Feb 2022 at 04:53, Alper Nebi Yasak <alpernebiya...@gmail.com> > > wrote: > >> On 08/02/2022 21:49, Simon Glass wrote: > >>> 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. > > I just wasn't sure about the semantics and wanted to highlight what > might be an edge case. Looking again, I think this is binary-wise > correct, but GetString and GetStringList would return True and [True] > for these boolean props where I'd want None and [].
I'll add a test for that in v3. Regards, Simon