Re: [PATCH 2/5] annotations: Add position information to various calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On 01/09/18 22:25, Frank Rowand wrote:
> On 01/08/18 05:36, Julia Lawall wrote:
>> Builds on a patch proposed by Frank Rowand:
>>
>> https://www.mail-archive.com/devicetree-compiler@xxxxxxxxxxxxxxx/msg00372.html
>>
>> Added NULL position argument in a few new places in dtc-parser.tab.c (1)
>> and livetree.c (3).
>>
>> For both '/' nodedef productions, include the '/' in the position.
>>
>> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
>> ---
>>  dtc-parser.y | 23 +++++++++++++----------
>>  dtc.c        | 10 ++++++++++
>>  dtc.h        | 14 ++++++++++----
>>  flattree.c   |  2 +-
>>  fstree.c     |  8 +++++---
>>  livetree.c   | 43 ++++++++++++++++++++++++++++++-------------
>>  srcpos.c     | 35 +++++++++++++++++++++++++++++++++++
>>  srcpos.h     |  3 +++
>>  treesource.c | 38 +++++++++++++++++++++++++++++++++-----
>>  9 files changed, 140 insertions(+), 36 deletions(-)
>>
>> diff --git a/dtc-parser.y b/dtc-parser.y
>> index 44af170..d668349 100644
>> --- a/dtc-parser.y
>> +++ b/dtc-parser.y
>> @@ -160,11 +160,11 @@ memreserve:
>>  devicetree:
>>  	  '/' nodedef
>>  		{
>> -			$$ = name_node($2, "");
>> +			$$ = name_node($2, "", &@$);
>>  		}
>>  	| devicetree '/' nodedef
>>  		{
>> -			$$ = merge_nodes($1, $3);
>> +			$$ = merge_nodes($1, $3, srcpos_combine(&@2, &@3));
>>  		}
>>  	| DT_REF nodedef
>>  		{
>> @@ -175,7 +175,10 @@ devicetree:
>>  			 */
>>  			if (!($<flags>-1 & DTSF_PLUGIN))
>>  				ERROR(&@2, "Label or path %s not found", $1);
>> -			$$ = add_orphan_node(name_node(build_node(NULL, NULL), ""), $2, $1);
>> +			$$ = add_orphan_node(
>> +					name_node(build_node(NULL, NULL), "",
>> +						  NULL),
>> +					$2, $1, &@2);
>>  		}
>>  	| devicetree DT_LABEL DT_REF nodedef
>>  		{
>> @@ -183,7 +186,7 @@ devicetree:
>>  
>>  			if (target) {
>>  				add_label(&target->labels, $2);
>> -				merge_nodes(target, $4);
>> +				merge_nodes(target, $4, &@4);
>>  			} else
>>  				ERROR(&@3, "Label or path %s not found", $3);
>>  			$$ = $1;
>> @@ -193,7 +196,7 @@ devicetree:
>>  			struct node *target = get_node_by_ref($1, $2);
>>  
>>  			if (target) {
>> -				merge_nodes(target, $3);
>> +				merge_nodes(target, $3, &@3);
>>  			} else {
>>  				/*
>>  				 * We rely on the rule being always:
>> @@ -201,7 +204,7 @@ devicetree:
>>  				 * so $-1 is what we want (plugindecl)
>>  				 */
>>  				if ($<flags>-1 & DTSF_PLUGIN)
>> -					add_orphan_node($1, $3, $2);
>> +					add_orphan_node($1, $3, $2, &@3);
>>  				else
>>  					ERROR(&@2, "Label or path %s not found", $2);
>>  			}
>> @@ -242,11 +245,11 @@ proplist:
>>  propdef:
>>  	  DT_PROPNODENAME '=' propdata ';'
>>  		{
>> -			$$ = build_property($1, $3);
>> +			$$ = build_property($1, $3, &@$);
>>  		}
>>  	| DT_PROPNODENAME ';'
>>  		{
>> -			$$ = build_property($1, empty_data);
>> +			$$ = build_property($1, empty_data, &@$);
>>  		}
>>  	| DT_DEL_PROP DT_PROPNODENAME ';'
>>  		{
>> @@ -517,11 +520,11 @@ subnodes:
>>  subnode:
>>  	  DT_PROPNODENAME nodedef
>>  		{
>> -			$$ = name_node($2, $1);
>> +			$$ = name_node($2, $1, &@$);
>>  		}
>>  	| DT_DEL_NODE DT_PROPNODENAME ';'
>>  		{
>> -			$$ = name_node(build_node_delete(), $2);
>> +			$$ = name_node(build_node_delete(), $2, &@$);
>>  		}
>>  	| DT_LABEL subnode
>>  		{
>> diff --git a/dtc.c b/dtc.c
>> index c36994e..371d04c 100644
>> --- a/dtc.c
>> +++ b/dtc.c
>> @@ -35,6 +35,7 @@ int phandle_format = PHANDLE_EPAPR;	/* Use linux,phandle or phandle properties *
>>  int generate_symbols;	/* enable symbols & fixup support */
>>  int generate_fixups;		/* suppress generation of fixups on symbol support */
>>  int auto_label_aliases;		/* auto generate labels -> aliases */
>> +bool annotate = false; /* annotate .dts with input source location */
>>  
>>  static int is_power_of_2(int x)
>>  {
>> @@ -83,6 +84,7 @@ static struct option const usage_long_opts[] = {
>>  	{"auto-alias",       no_argument, NULL, 'A'},
>>  	{"help",             no_argument, NULL, 'h'},
>>  	{"version",          no_argument, NULL, 'v'},
>> +	{"annotate",         no_argument, NULL, 'T'},
> 
> The "annotate" entry should be just before the "help" entry.
> 
> -Frank
> 

Ah, I see that patch 5 makes this correction.  See my comment that I'm about to
write on patch 5.

-Frank
--
To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux