On Tue, Feb 09, 2021 at 07:33:05PM -0600, Kumar Gala wrote: > > > > On Feb 9, 2021, at 6:08 PM, David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote: > > > > On Tue, Feb 09, 2021 at 11:50:59AM -0600, Kumar Gala wrote: > >> Treat a node-name and property name at the same level of tree as > >> an error. > >> > >> Signed-off-by: Kumar Gala <kumar.gala@xxxxxxxxxx> > > > > Nack. Discouraging/banning this at the spec level for future trees is > > reasonable. But dtc should be able to handle old trees that *do* have > > node/property conflicts as well. > > Then we can make this a warning instead of an error. Or a user is > always about to disable this via the ’no-…’ command line option. A warning would be ok. > > - k > > > > >> --- > >> checks.c | 18 +++++++++++++++++- > >> 1 file changed, 17 insertions(+), 1 deletion(-) > >> > >> diff --git a/checks.c b/checks.c > >> index 17cb689..3f46043 100644 > >> --- a/checks.c > >> +++ b/checks.c > >> @@ -330,6 +330,22 @@ static void check_node_name_format(struct check *c, struct dt_info *dti, > >> } > >> ERROR(node_name_format, check_node_name_format, NULL, &node_name_chars); > >> > >> +static void check_node_name_vs_property_name(struct check *c, > >> + struct dt_info *dti, > >> + struct node *node) > >> +{ > >> + struct property *prop; > >> + > >> + if (node->parent) { > >> + for_each_property(node->parent, prop) { > >> + if (strcmp(node->name, prop->name) == 0) > >> + FAIL(c, dti, node, "node name and property name conflict"); > >> + } > >> + } > >> +} > >> +ERROR(node_name_vs_property_name, check_node_name_vs_property_name, > >> + NULL, &node_name_chars); > >> + > >> static void check_unit_address_vs_reg(struct check *c, struct dt_info *dti, > >> struct node *node) > >> { > >> @@ -1796,7 +1812,7 @@ WARNING(graph_endpoint, check_graph_endpoint, NULL, &graph_nodes); > >> static struct check *check_table[] = { > >> &duplicate_node_names, &duplicate_property_names, > >> &node_name_chars, &node_name_format, &property_name_chars, > >> - &name_is_string, &name_properties, > >> + &name_is_string, &name_properties, &node_name_vs_property_name, > >> > >> &duplicate_label, > >> > > > -- 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
Attachment:
signature.asc
Description: PGP signature