dtoc: Put phandle args in an array

We want to support more than one phandle argument. It makes sense to use
an array for this rather than discrete struct members. Adjust the code to
support this. Rename the member to 'arg' instead of 'id'.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
master
Simon Glass 7 years ago
parent 35d503700f
commit bc79617fdf
  1. 2
      drivers/clk/clk-uclass.c
  2. 4
      include/dt-structs.h
  3. 2
      tools/dtoc/dtb_platdata.py
  4. 2
      tools/dtoc/test_dtoc.py

@ -32,7 +32,7 @@ int clk_get_by_index_platdata(struct udevice *dev, int index,
ret = uclass_get_device(UCLASS_CLK, 0, &clk->dev);
if (ret)
return ret;
clk->id = cells[0].id;
clk->id = cells[0].arg[0];
return 0;
}

@ -11,12 +11,12 @@
#if CONFIG_IS_ENABLED(OF_PLATDATA)
struct phandle_0_arg {
const void *node;
int id[0];
int arg[0];
};
struct phandle_1_arg {
const void *node;
int id;
int arg[1];
};
#include <generated/dt-structs.h>
#endif

@ -467,7 +467,7 @@ class DtbPlatdata(object):
id_num = fdt_util.fdt32_to_cpu(id_cell)
target_node = self._fdt.phandle_to_node[phandle]
name = conv_name_to_c(target_node.name)
vals.append('{&%s%s, %d}' % (VAL_PREFIX, name, id_num))
vals.append('{&%s%s, {%d}}' % (VAL_PREFIX, name, id_num))
for val in vals:
self.buf('\n\t\t%s,' % val)
else:

@ -253,7 +253,7 @@ U_BOOT_DEVICE(phandle_target) = {
static struct dtd_source dtv_phandle_source = {
\t.clocks\t\t\t= {
\t\t{&dtv_phandle_target, 1},},
\t\t{&dtv_phandle_target, {1}},},
};
U_BOOT_DEVICE(phandle_source) = {
\t.name\t\t= "source",

Loading…
Cancel
Save