diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-11-02 16:10:30 +1100 |
---|---|---|
committer | Jon Loeliger <jdl@freescale.com> | 2007-11-05 08:41:23 -0600 |
commit | 02563ad023122ac2dbd6de6169eaf4b911ddcc7e (patch) | |
tree | 1383948e016883522caec6284aa23c16a2f3fc21 /treesource.c | |
parent | bf141b96cda8affecf7404198f72c08c8c2c542e (diff) | |
download | dtc-02563ad023122ac2dbd6de6169eaf4b911ddcc7e.tar.gz |
dtc: Make -Idts -Odts preserve node/property labels
This patch changes -Odts mode output so that labels on properties,
nodes and memreserve entries in input source are preserved in the
output.
Preserving labels within property values is trickier - another patch
coming later.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'treesource.c')
-rw-r--r-- | treesource.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/treesource.c b/treesource.c index f62041f..376ebc8 100644 --- a/treesource.c +++ b/treesource.c @@ -176,6 +176,8 @@ static void write_tree_source_node(FILE *f, struct node *tree, int level) struct node *child; write_prefix(f, level); + if (tree->label) + fprintf(f, "%s: ", tree->label); if (tree->name && (*tree->name)) fprintf(f, "%s {\n", tree->name); else @@ -184,8 +186,10 @@ static void write_tree_source_node(FILE *f, struct node *tree, int level) for_each_property(tree, prop) { enum proptype type; - write_prefix(f, level); - fprintf(f, "\t%s", prop->name); + write_prefix(f, level+1); + if (prop->label) + fprintf(f, "%s: ", prop->label); + fprintf(f, "%s", prop->name); type = guess_type(prop); switch (type) { @@ -220,6 +224,8 @@ void dt_to_source(FILE *f, struct boot_info *bi) struct reserve_info *re; for (re = bi->reservelist; re; re = re->next) { + if (re->label) + fprintf(f, "%s: ", re->label); fprintf(f, "/memreserve/\t%016llx-%016llx;\n", (unsigned long long)re->re.address, (unsigned long long)(re->re.address + re->re.size - 1)); |