From 88875268c05c9cf342d958a5c65973b0ee45888e Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Wed, 10 Feb 2021 13:39:12 -0600 Subject: [PATCH] checks: Warn on node-name and property name being the same Treat a node-name and property name at the same level of tree as a warning Signed-off-by: Kumar Gala Message-Id: <20210210193912.799544-1-kumar.gala@linaro.org> Signed-off-by: David Gibson --- checks.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/checks.c b/checks.c index 48e7fe9..c420772 100644 --- a/checks.c +++ b/checks.c @@ -331,6 +331,20 @@ 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) +{ + if (!node->parent) + return; + + if (get_property(node->parent, node->name)) { + FAIL(c, dti, node, "node name and property name conflict"); + } +} +WARNING(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) { @@ -1797,7 +1811,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,