On Tue, Feb 9, 2021 at 12:06 PM Kumar Gala <kumar.gala@xxxxxxxxxx> 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> > --- > 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) { To save some indentation: if (!node->parent) return; > + for_each_property(node->parent, prop) { > + if (strcmp(node->name, prop->name) == 0) streq() is the dtc way. > + 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, > > -- > 2.29.2 >