Allow multipart property values
At present each property definition in a dts file must give as the
value either a string ("abc..."), a bytestring ([12abcd...]) or a cell
list (<1 2 3 ...>). This patch allows a property value to be given as
several of these, comma-separated. The final property value is just
the components appended together. So a property could have a list of
cells followed by a string, or a bytestring followed by some cells.
Cells are always aligned, so if cells are given following a string or
bytestring which is not a multiple of 4 bytes long, zero bytes are
inserted to align the following cells.
The primary motivation for this feature, however, is to allow defining
a property as a list of several strings. This is what's needed for
defining OF 'compatible' properties, and is less ugly and fiddly than
using embedded \0s in the strings.
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Jon Loeliger <jdl@freescale.com>
This commit is contained in:
committed by
Jon Loeliger
parent
54382390e4
commit
32da475af1
@@ -123,6 +123,15 @@ REFCHAR ({PROPCHAR}|{UNITCHAR}|[/@])
|
||||
return ']';
|
||||
}
|
||||
|
||||
, { /* Technically this is a valid property name,
|
||||
but we'd rather use it as punctuation, so detect it
|
||||
here in preference */
|
||||
yylloc.first_line = yylineno;
|
||||
DPRINT("Char (propname like): %c (\\x%02x)\n", yytext[0],
|
||||
(unsigned)yytext[0]);
|
||||
return yytext[0];
|
||||
}
|
||||
|
||||
{PROPCHAR}+ {
|
||||
yylloc.first_line = yylineno;
|
||||
DPRINT("PropName: %s\n", yytext);
|
||||
|
||||
Reference in New Issue
Block a user