mirror of
https://github.com/dgibson/dtc.git
synced 2025-10-13 16:27:39 -04:00
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:
parent
54382390e4
commit
32da475af1
5 changed files with 49 additions and 4 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue