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

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



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
>



[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