diff mbox series

checkpatch.pl: Update DT vendor prefix check

Message ID 20190522151238.25176-1-robh@kernel.org
State Superseded
Headers show
Series checkpatch.pl: Update DT vendor prefix check | expand

Commit Message

Rob Herring May 22, 2019, 3:12 p.m. UTC
In commit 8122de54602e ("dt-bindings: Convert vendor prefixes to
json-schema"), vendor-prefixes.txt has been converted to a DT schema.
Update the checkpatch.pl DT check to extract vendor prefixes from the new
vendor-prefixes.yaml file.

Fixes: 8122de54602e ("dt-bindings: Convert vendor prefixes to json-schema")
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Rob Herring <robh@kernel.org>

---
 scripts/checkpatch.pl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.20.1

Comments

Joe Perches May 22, 2019, 5:16 p.m. UTC | #1
On Wed, 2019-05-22 at 10:12 -0500, Rob Herring wrote:
> In commit 8122de54602e ("dt-bindings: Convert vendor prefixes to

> json-schema"), vendor-prefixes.txt has been converted to a DT schema.

> Update the checkpatch.pl DT check to extract vendor prefixes from the new

> vendor-prefixes.yaml file.

> 

> Fixes: 8122de54602e ("dt-bindings: Convert vendor prefixes to json-schema")

> Cc: Joe Perches <joe@perches.com>

> Signed-off-by: Rob Herring <robh@kernel.org>

> ---

>  scripts/checkpatch.pl | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

> 

> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl

> index bb28b178d929..073051a4471b 100755

> --- a/scripts/checkpatch.pl

> +++ b/scripts/checkpatch.pl

> @@ -3027,7 +3027,7 @@ sub process {

>  			my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g;

>  

>  			my $dt_path = $root . "/Documentation/devicetree/bindings/";

> -			my $vp_file = $dt_path . "vendor-prefixes.txt";

> +			my $vp_file = $dt_path . "vendor-prefixes.yaml";

>  

>  			foreach my $compat (@compats) {

>  				my $compat2 = $compat;

> @@ -3042,7 +3042,7 @@ sub process {

>  

>  				next if $compat !~ /^([a-zA-Z0-9\-]+)\,/;

>  				my $vendor = $1;

> -				`grep -Eq "^$vendor\\b" $vp_file`;

> +				`grep -oE "\\"\\^[a-zA-Z0-9]+" $vp_file | grep -q "$vendor"`;


I think this does't work well as it loses the -
in various vendor prefixes:

  "^active-semi,.*":
  "^asahi-kasei,.*":
  "^ebs-systart,.*":
  "^inside-secure,.*":
  "^multi-inno,.*":
  "^netron-dy,.*":
  "^si-en,.*":
  "^si-linux,.*":
  "^tbs-biometrics,.*":
  "^u-blox,.*":
  "^x-powers,.*":

Perhaps the grep should be something like: (untested)

	`grep -Eq "\\"\\^\Q$vendor\E,\\.\\*\\":" $vp_file`;
Rob Herring May 22, 2019, 5:58 p.m. UTC | #2
On Wed, May 22, 2019 at 12:16 PM Joe Perches <joe@perches.com> wrote:
>

> On Wed, 2019-05-22 at 10:12 -0500, Rob Herring wrote:

> > In commit 8122de54602e ("dt-bindings: Convert vendor prefixes to

> > json-schema"), vendor-prefixes.txt has been converted to a DT schema.

> > Update the checkpatch.pl DT check to extract vendor prefixes from the new

> > vendor-prefixes.yaml file.

> >

> > Fixes: 8122de54602e ("dt-bindings: Convert vendor prefixes to json-schema")

> > Cc: Joe Perches <joe@perches.com>

> > Signed-off-by: Rob Herring <robh@kernel.org>

> > ---

> >  scripts/checkpatch.pl | 4 ++--

> >  1 file changed, 2 insertions(+), 2 deletions(-)

> >

> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl

> > index bb28b178d929..073051a4471b 100755

> > --- a/scripts/checkpatch.pl

> > +++ b/scripts/checkpatch.pl

> > @@ -3027,7 +3027,7 @@ sub process {

> >                       my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g;

> >

> >                       my $dt_path = $root . "/Documentation/devicetree/bindings/";

> > -                     my $vp_file = $dt_path . "vendor-prefixes.txt";

> > +                     my $vp_file = $dt_path . "vendor-prefixes.yaml";

> >

> >                       foreach my $compat (@compats) {

> >                               my $compat2 = $compat;

> > @@ -3042,7 +3042,7 @@ sub process {

> >

> >                               next if $compat !~ /^([a-zA-Z0-9\-]+)\,/;

> >                               my $vendor = $1;

> > -                             `grep -Eq "^$vendor\\b" $vp_file`;

> > +                             `grep -oE "\\"\\^[a-zA-Z0-9]+" $vp_file | grep -q "$vendor"`;

>

> I think this does't work well as it loses the -

> in various vendor prefixes:

>

>   "^active-semi,.*":

>   "^asahi-kasei,.*":

>   "^ebs-systart,.*":

>   "^inside-secure,.*":

>   "^multi-inno,.*":

>   "^netron-dy,.*":

>   "^si-en,.*":

>   "^si-linux,.*":

>   "^tbs-biometrics,.*":

>   "^u-blox,.*":

>   "^x-powers,.*":


Ah, indeed.

> Perhaps the grep should be something like: (untested)

>

>         `grep -Eq "\\"\\^\Q$vendor\E,\\.\\*\\":" $vp_file`;


That works. Thanks.

Rob
diff mbox series

Patch

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index bb28b178d929..073051a4471b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3027,7 +3027,7 @@  sub process {
 			my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g;
 
 			my $dt_path = $root . "/Documentation/devicetree/bindings/";
-			my $vp_file = $dt_path . "vendor-prefixes.txt";
+			my $vp_file = $dt_path . "vendor-prefixes.yaml";
 
 			foreach my $compat (@compats) {
 				my $compat2 = $compat;
@@ -3042,7 +3042,7 @@  sub process {
 
 				next if $compat !~ /^([a-zA-Z0-9\-]+)\,/;
 				my $vendor = $1;
-				`grep -Eq "^$vendor\\b" $vp_file`;
+				`grep -oE "\\"\\^[a-zA-Z0-9]+" $vp_file | grep -q "$vendor"`;
 				if ( $? >> 8 ) {
 					WARN("UNDOCUMENTED_DT_STRING",
 					     "DT compatible string vendor \"$vendor\" appears un-documented -- check $vp_file\n" . $herecurr);