dtc: Clean up /dts-v1/ and /plugin/ handling in grammar
First remove the non-terminal name 'versioninfo' - /plugin/ doesn't really indicate a "version" per se, and version could be confused with the dtb output version. Second allow the /dts-v1/; /plugin/; sequence to be repeated, for easier use of include files - but ensure that all copies match, so you can't include a file declaring /plugin/ in one that doesn't, or vice versa. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>main
parent
e3c769aa9c
commit
1ef86ad2c2
35
dtc-parser.y
35
dtc-parser.y
|
@ -74,8 +74,8 @@ extern bool treesource_error;
|
||||||
|
|
||||||
%type <data> propdata
|
%type <data> propdata
|
||||||
%type <data> propdataprefix
|
%type <data> propdataprefix
|
||||||
%type <flags> versioninfo
|
%type <flags> header
|
||||||
%type <flags> plugindecl
|
%type <flags> headers
|
||||||
%type <re> memreserve
|
%type <re> memreserve
|
||||||
%type <re> memreserves
|
%type <re> memreserves
|
||||||
%type <array> arrayprefix
|
%type <array> arrayprefix
|
||||||
|
@ -106,32 +106,31 @@ extern bool treesource_error;
|
||||||
%%
|
%%
|
||||||
|
|
||||||
sourcefile:
|
sourcefile:
|
||||||
versioninfo plugindecl memreserves devicetree
|
headers memreserves devicetree
|
||||||
{
|
{
|
||||||
the_boot_info = build_boot_info($1 | $2, $3, $4,
|
the_boot_info = build_boot_info($1, $2, $3,
|
||||||
guess_boot_cpuid($4));
|
guess_boot_cpuid($3));
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
versioninfo:
|
header:
|
||||||
v1tag
|
DT_V1 ';'
|
||||||
{
|
{
|
||||||
$$ = DTSF_V1;
|
$$ = DTSF_V1;
|
||||||
}
|
}
|
||||||
|
| DT_V1 ';' DT_PLUGIN ';'
|
||||||
|
{
|
||||||
|
$$ = DTSF_V1 | DTSF_PLUGIN;
|
||||||
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
v1tag:
|
headers:
|
||||||
DT_V1 ';'
|
header
|
||||||
| DT_V1 ';' v1tag
|
| header headers
|
||||||
|
|
||||||
plugindecl:
|
|
||||||
DT_PLUGIN ';'
|
|
||||||
{
|
{
|
||||||
$$ = DTSF_PLUGIN;
|
if ($2 != $1)
|
||||||
}
|
ERROR(&@2, "Header flags don't match earlier ones");
|
||||||
| /* empty */
|
$$ = $1;
|
||||||
{
|
|
||||||
$$ = 0;
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue