[RFC PATCH 22/77] dtc: Add export symbols (/export/ keyword) in generated dts file
Herve Codina <[email protected]> Mon, 12 Jan 2026 15:19:12 +0100
| Newsgroups | org.kernel.vger.devicetree-spec,org.kernel.vger.devicetree-compiler,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
The export symbols (/export/ keyword) parsing from a dts file is supported. Add the support for this keyword in the dts file generation. Signed-off-by: Herve Codina <[email protected]> --- treesource.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/treesource.c b/treesource.c index 1db6390..9effe38 100644 --- a/treesource.c +++ b/treesource.c @@ -320,6 +320,7 @@ static void write_propval(FILE *f, struct property *prop) static void write_tree_source_node(FILE *f, struct node *tree, int level) { + struct symbol *exportsym; struct property *prop; struct node *child; struct label *l; @@ -349,6 +350,18 @@ static void write_tree_source_node(FILE *f, struct node *tree, int level) fprintf(f, "%s", prop->name); write_propval(f, prop); } + + if (tree->exportsymlist) + fprintf(f, "\n"); + for_each_symbol(tree->exportsymlist, exportsym) { + write_prefix(f, level+1); + fprintf(f, "/export/ %s: ", exportsym->name); + if (exportsym->ref[0] == '/') + fprintf(f, "&{%s};\n", exportsym->ref); + else + fprintf(f, "&%s;\n", exportsym->ref); + } + for_each_child(tree, child) { fprintf(f, "\n"); write_tree_source_node(f, child, level+1); -- 2.52.0