dtoc: Support properties containing multiple phandle values

At present dtoc has a very simplistic view of phandles. It assumes that
a property has only a single phandle with a single argument (i.e. two
cells per property).

This is not true in many cases. Enhance the implementation to scan all
phandles in a property and to use the correct number of arguments (which
can be 0, 1, 2 or more) when generating the C code. For the struct
definitions, use a struct which can hold the maximum number of arguments
used by the property.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
Simon Glass 2017-08-29 14:15:59 -06:00
parent bc79617fdf
commit 634eba4be0
4 changed files with 58 additions and 12 deletions

View file

@ -18,6 +18,11 @@ struct phandle_1_arg {
const void *node;
int arg[1];
};
struct phandle_2_arg {
const void *node;
int arg[2];
};
#include <generated/dt-structs.h>
#endif