* [PATCH] checkpatch.pl: Update DT vendor prefix check
@ 2019-05-22 15:12 Rob Herring
2019-05-22 17:16 ` Joe Perches
0 siblings, 1 reply; 3+ messages in thread
From: Rob Herring @ 2019-05-22 15:12 UTC (permalink / raw)
To: linux-kernel; +Cc: devicetree, Joe Perches
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"`;
if ( $? >> 8 ) {
WARN("UNDOCUMENTED_DT_STRING",
"DT compatible string vendor \"$vendor\" appears un-documented -- check $vp_file\n" . $herecurr);
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] checkpatch.pl: Update DT vendor prefix check
2019-05-22 15:12 [PATCH] checkpatch.pl: Update DT vendor prefix check Rob Herring
@ 2019-05-22 17:16 ` Joe Perches
2019-05-22 17:58 ` Rob Herring
0 siblings, 1 reply; 3+ messages in thread
From: Joe Perches @ 2019-05-22 17:16 UTC (permalink / raw)
To: Rob Herring, linux-kernel; +Cc: devicetree
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`;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] checkpatch.pl: Update DT vendor prefix check
2019-05-22 17:16 ` Joe Perches
@ 2019-05-22 17:58 ` Rob Herring
0 siblings, 0 replies; 3+ messages in thread
From: Rob Herring @ 2019-05-22 17:58 UTC (permalink / raw)
To: Joe Perches; +Cc: linux-kernel@vger.kernel.org, devicetree
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-05-22 17:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-22 15:12 [PATCH] checkpatch.pl: Update DT vendor prefix check Rob Herring
2019-05-22 17:16 ` Joe Perches
2019-05-22 17:58 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).