[PATCH v2] commands: of_dump switch to get fixed devictree

Jan Weitzel j.weitzel at phytec.de
Thu Aug 21 04:25:06 PDT 2014


Am 04.08.2014 um 21:21 schrieb Sascha Hauer:

> Hi Jan,
>
> On Fri, Aug 01, 2014 at 09:01:05AM +0200, Jan Weitzel wrote:
>> Add a switch to get the devicetree processed by the registered fixups.
>> This is also whats the kernel gets.
> This is a very useful option.
>
>> Signed-off-by: Jan Weitzel <j.weitzel at phytec.de>
>> ---
>> v2:	fix CMD OPS
>>
>>   commands/of_dump.c |   12 ++++++++++--
>>   1 files changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/commands/of_dump.c b/commands/of_dump.c
>> index cafde07..1b487c7 100644
>> --- a/commands/of_dump.c
>> +++ b/commands/of_dump.c
>> @@ -34,16 +34,20 @@ static int do_of_dump(int argc, char *argv[])
>>   {
>>   	int opt;
>>   	int ret;
>> +	int fix = 0;
>>   	struct device_node *root = NULL, *node, *of_free = NULL;
>>   	char *dtbfile = NULL;
>>   	size_t size;
>>   	const char *nodename;
>>   
>> -	while ((opt = getopt(argc, argv, "f:")) > 0) {
>> +	while ((opt = getopt(argc, argv, "Ff:")) > 0) {
>>   		switch (opt) {
>>   		case 'f':
>>   			dtbfile = optarg;
>>   			break;
>> +		case 'F':
>> +			fix = 1;
>> +			break;
>>   		default:
>>   			return COMMAND_ERROR_USAGE;
>>   		}
>> @@ -77,6 +81,9 @@ static int do_of_dump(int argc, char *argv[])
>>   		root = of_get_root_node();
>>   	}
>>   
>> +	if (fix)
>> +		of_get_fixed_tree(root);
> of_get_fixed_tree() returns an allocated flat device tree. You should
> free it.
>
> As an alternative you could call of_fix_tree() instead.
>
> Also I'm not sure about the API. of_fix_tree manipulates the internal
> tree, so when you use of_dump -F once you'll always get the fixed tree
> afterwards, even when called without -F. This might be confusing.

I'll post a patch that use of_flatten_dtb / of_unflatten_dtb to create a copy of the internal devicetree.

> We have the same problem elsewhere in the tree though, right now I'm
> unsure what to do about it. And then again, I'm on holiday, so I won't
> do anything about it this month ;)

Have a nice holday :)

Jan

>
> Sascha
>
>



More information about the barebox mailing list