dtc: Make -Idts -Odts preserve node/property labels
From: David Gibson <hidden>
Date: 2007-11-02 05:10:30
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 <redacted> Index: dtc/treesource.c ===================================================================
--- dtc.orig/treesource.c 2007-11-02 16:00:19.000000000 +1100
+++ dtc/treesource.c 2007-11-02 16:02:33.000000000 +1100@@ -176,6 +176,8 @@ static void write_tree_source_node(FILE 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 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_i 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));
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson