Re: [PATCH v3] checks: Warn on node-name and property name being the same

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Tue, Feb 09, 2021 at 10:15:10PM -0600, Kumar Gala wrote:
> Treat a node-name and property name at the same level of tree as
> a warning
> 
> Signed-off-by: Kumar Gala <kumar.gala@xxxxxxxxxx>
> ---
>  checks.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/checks.c b/checks.c
> index 17cb689..7f9e670 100644
> --- a/checks.c
> +++ b/checks.c
> @@ -330,6 +330,23 @@ 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)
> +		return;
> +
> +	for_each_property(node->parent, prop) {
> +		if (streq(node->name, prop->name))
> +			FAIL(c, dti, node, "node name and property name conflict");
> +	}

This seems a somewhat roundabout way of detecting this.  Instead of
having a check for "sibling" properties of the same name, why not just do:

	for_each_subnode(...) {
		if (get_property(node, subnode->name))
			FAIL(..., "Has both subnode and property named %s", subnode->name);
	}


> +}
> +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)
>  {
> @@ -1796,7 +1813,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


[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux