Re: [PATCH 2/5] checks: Add Warning for stricter node name character checking

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

 




On Tue, Jan 24, 2017 at 11:45:31AM -0600, Rob Herring wrote:
> While '#', '?', '.', '+', '*', and '_' are considered valid characters,
> their use is discouraged in recommended practices.
> 
> Testing this found a few cases of '.'. The majority of the warnings were
> all from underscores.

Hmm.  The Opal firmware on POWER8 machines uses both '.' and '#' in
node names in some places.  So I'm not terribly convinced this is a
good idea.

> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> ---
>  checks.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/checks.c b/checks.c
> index a0d4a9d968d7..0c78d69316bc 100644
> --- a/checks.c
> +++ b/checks.c
> @@ -252,6 +252,17 @@ static void check_node_name_chars(struct check *c, struct dt_info *dti,
>  }
>  ERROR(node_name_chars, check_node_name_chars, PROPNODECHARS "@");
>  
> +static void check_node_name_chars_strict(struct check *c, struct dt_info *dti,
> +					 struct node *node)
> +{
> +	int n = strspn(node->name, c->data);
> +
> +	if (n < node->basenamelen)
> +		FAIL(c, "Character '%c' not recommended in node %s",
> +		     node->name[n], node->fullpath);
> +}
> +WARNING(node_name_chars_strict, check_node_name_chars_strict, PROPNODECHARSSTRICT);
> +
>  static void check_node_name_format(struct check *c, struct dt_info *dti,
>  				   struct node *node)
>  {
> @@ -737,6 +748,7 @@ static struct check *check_table[] = {
>  	&device_type_is_string, &model_is_string, &status_is_string,
>  
>  	&property_name_chars_strict,
> +	&node_name_chars_strict,
>  
>  	&addr_size_cells, &reg_format, &ranges_format,
>  

-- 
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 Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux