* [PATCH v4 0/4] checkpatch: enhance compatible string checking
@ 2014-03-07 23:38 Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 2/4] checkpatch: fix spurious vendor compatible warnings Florian Vaussard
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Florian Vaussard @ 2014-03-07 23:38 UTC (permalink / raw)
To: Andy Whitcroft, Joe Perches
Cc: Andrew Morton, Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
Hi,
This series proposes a number of fixes and enhancements to the checks
performed on compatible strings:
1) Fix vendor check for strings with dashes
2) Fix spurious vendor warning, when there is no vendor
3) Check for compatible strings in .c and .h files too
4) Match only at the begining of each line in vendor-prefixes.txt
Regards,
Florian
Since v3 [3]:
- Removed the SOB of Joe Perches
- Cc: Andrew Morton
Since v2 [2]:
- Merged changes proposed by Joe Perches
1) check compatible also in .[ch] files
2) match strings at the begining of vendor-prefixes.txt
3) minor cleanups
Since v1 [1]:
- Add check for vendors with '-', as suggested by Joe Perches
[1] http://thread.gmane.org/gmane.linux.drivers.devicetree/63770
[2] http://thread.gmane.org/gmane.linux.kernel/1657871
[3] https://lkml.org/lkml/2014/3/7/247
Florian Vaussard (4):
checkpatch: check vendor compatible with dashes
checkpatch: fix spurious vendor compatible warnings
checkpatch: check compatible strings in .c and .h too
checkpatch: improve the compatible vendor match
scripts/checkpatch.pl | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
--
1.8.5.3
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v4 2/4] checkpatch: fix spurious vendor compatible warnings
2014-03-07 23:38 [PATCH v4 0/4] checkpatch: enhance compatible string checking Florian Vaussard
@ 2014-03-07 23:38 ` Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 3/4] checkpatch: check compatible strings in .c and .h too Florian Vaussard
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Florian Vaussard @ 2014-03-07 23:38 UTC (permalink / raw)
To: Andy Whitcroft, Joe Perches
Cc: Andrew Morton, Rob Herring, devicetree, linux-kernel
With a compatible string like
compatible = "foo";
checkpatch will currently try to find "foo" in vendor-prefixes.txt,
which is wrong since the vendor prefix is empty in this specific case.
Skip the vendor test if the compatible is not like
compatible = "vendor,something";
Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch>
---
scripts/checkpatch.pl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index e304e77..96f10ba 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2055,10 +2055,10 @@ sub process {
"DT compatible string \"$compat\" appears un-documented -- check $dt_path\n" . $herecurr);
}
- my $vendor = $compat;
my $vendor_path = $dt_path . "vendor-prefixes.txt";
next if (! -f $vendor_path);
- $vendor =~ s/^([a-zA-Z0-9\-]+)\,.*/$1/;
+ next if $compat !~ /^([a-zA-Z0-9\-]+)\,/;
+ my $vendor = $1;
`grep -Eq "$vendor" $vendor_path`;
if ( $? >> 8 ) {
WARN("UNDOCUMENTED_DT_STRING",
--
1.8.5.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v4 3/4] checkpatch: check compatible strings in .c and .h too
2014-03-07 23:38 [PATCH v4 0/4] checkpatch: enhance compatible string checking Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 2/4] checkpatch: fix spurious vendor compatible warnings Florian Vaussard
@ 2014-03-07 23:38 ` Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 4/4] checkpatch: improve the compatible vendor match Florian Vaussard
[not found] ` <1394235527-8999-1-git-send-email-florian.vaussard-p8DiymsW2f8@public.gmane.org>
3 siblings, 0 replies; 6+ messages in thread
From: Florian Vaussard @ 2014-03-07 23:38 UTC (permalink / raw)
To: Andy Whitcroft, Joe Perches
Cc: Andrew Morton, Rob Herring, devicetree, linux-kernel
Look for ".compatible = "foo" strings not only in .dts files, but
in .c and .h too.
Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch>
---
scripts/checkpatch.pl | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 96f10ba..9205153 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2041,8 +2041,10 @@ sub process {
}
# check for DT compatible documentation
- if (defined $root && $realfile =~ /\.dts/ &&
- $rawline =~ /^\+\s*compatible\s*=/) {
+ if (defined $root &&
+ (($realfile =~ /\.dtsi?$/ && $line =~ /^\+\s*compatible\s*=\s*\"/) ||
+ ($realfile =~ /\.[ch]$/ && $line =~ /^\+.*\.compatible\s*=\s*\"/))) {
+
my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g;
foreach my $compat (@compats) {
--
1.8.5.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v4 4/4] checkpatch: improve the compatible vendor match
2014-03-07 23:38 [PATCH v4 0/4] checkpatch: enhance compatible string checking Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 2/4] checkpatch: fix spurious vendor compatible warnings Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 3/4] checkpatch: check compatible strings in .c and .h too Florian Vaussard
@ 2014-03-07 23:38 ` Florian Vaussard
[not found] ` <1394235527-8999-1-git-send-email-florian.vaussard-p8DiymsW2f8@public.gmane.org>
3 siblings, 0 replies; 6+ messages in thread
From: Florian Vaussard @ 2014-03-07 23:38 UTC (permalink / raw)
To: Andy Whitcroft, Joe Perches
Cc: Andrew Morton, Rob Herring, devicetree, linux-kernel
Improve the vendor name match in vendor-prefix.txt
by only matching the exact vendor name at the beginning of lines.
Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch>
---
scripts/checkpatch.pl | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 9205153..5bda9f7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2047,9 +2047,11 @@ 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";
+
foreach my $compat (@compats) {
my $compat2 = $compat;
- my $dt_path = $root . "/Documentation/devicetree/bindings/";
$compat2 =~ s/\,[a-z]*\-/\,<\.\*>\-/;
`grep -Erq "$compat|$compat2" $dt_path`;
if ( $? >> 8 ) {
@@ -2057,14 +2059,12 @@ sub process {
"DT compatible string \"$compat\" appears un-documented -- check $dt_path\n" . $herecurr);
}
- my $vendor_path = $dt_path . "vendor-prefixes.txt";
- next if (! -f $vendor_path);
next if $compat !~ /^([a-zA-Z0-9\-]+)\,/;
my $vendor = $1;
- `grep -Eq "$vendor" $vendor_path`;
+ `grep -Eq "^$vendor\\b" $vp_file`;
if ( $? >> 8 ) {
WARN("UNDOCUMENTED_DT_STRING",
- "DT compatible string vendor \"$vendor\" appears un-documented -- check $vendor_path\n" . $herecurr);
+ "DT compatible string vendor \"$vendor\" appears un-documented -- check $vp_file\n" . $herecurr);
}
}
}
--
1.8.5.3
^ permalink raw reply related [flat|nested] 6+ messages in thread[parent not found: <1394235527-8999-1-git-send-email-florian.vaussard-p8DiymsW2f8@public.gmane.org>]
* [PATCH v4 1/4] checkpatch: check vendor compatible with dashes
[not found] ` <1394235527-8999-1-git-send-email-florian.vaussard-p8DiymsW2f8@public.gmane.org>
@ 2014-03-07 23:38 ` Florian Vaussard
2014-03-08 20:59 ` [PATCH v4 0/4] checkpatch: enhance compatible string checking Rob Herring
1 sibling, 0 replies; 6+ messages in thread
From: Florian Vaussard @ 2014-03-07 23:38 UTC (permalink / raw)
To: Andy Whitcroft, Joe Perches
Cc: Andrew Morton, Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
The current vendor compatible check will not match vendors with
dashes, like:
compatible="asahi-kasei"
Reported-by: Joe Perches <joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
Signed-off-by: Florian Vaussard <florian.vaussard-p8DiymsW2f8@public.gmane.org>
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 464dcef..e304e77 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2058,7 +2058,7 @@ sub process {
my $vendor = $compat;
my $vendor_path = $dt_path . "vendor-prefixes.txt";
next if (! -f $vendor_path);
- $vendor =~ s/^([a-zA-Z0-9]+)\,.*/$1/;
+ $vendor =~ s/^([a-zA-Z0-9\-]+)\,.*/$1/;
`grep -Eq "$vendor" $vendor_path`;
if ( $? >> 8 ) {
WARN("UNDOCUMENTED_DT_STRING",
--
1.8.5.3
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v4 0/4] checkpatch: enhance compatible string checking
[not found] ` <1394235527-8999-1-git-send-email-florian.vaussard-p8DiymsW2f8@public.gmane.org>
2014-03-07 23:38 ` [PATCH v4 1/4] checkpatch: check vendor compatible with dashes Florian Vaussard
@ 2014-03-08 20:59 ` Rob Herring
1 sibling, 0 replies; 6+ messages in thread
From: Rob Herring @ 2014-03-08 20:59 UTC (permalink / raw)
To: Florian Vaussard
Cc: Andy Whitcroft, Joe Perches, Andrew Morton,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
On Fri, Mar 7, 2014 at 5:38 PM, Florian Vaussard
<florian.vaussard-p8DiymsW2f8@public.gmane.org> wrote:
> Hi,
>
> This series proposes a number of fixes and enhancements to the checks
> performed on compatible strings:
>
> 1) Fix vendor check for strings with dashes
> 2) Fix spurious vendor warning, when there is no vendor
> 3) Check for compatible strings in .c and .h files too
> 4) Match only at the begining of each line in vendor-prefixes.txt
For the series:
Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
I haven't had a chance to test, but will try to do so this week.
Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-03-08 20:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-07 23:38 [PATCH v4 0/4] checkpatch: enhance compatible string checking Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 2/4] checkpatch: fix spurious vendor compatible warnings Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 3/4] checkpatch: check compatible strings in .c and .h too Florian Vaussard
2014-03-07 23:38 ` [PATCH v4 4/4] checkpatch: improve the compatible vendor match Florian Vaussard
[not found] ` <1394235527-8999-1-git-send-email-florian.vaussard-p8DiymsW2f8@public.gmane.org>
2014-03-07 23:38 ` [PATCH v4 1/4] checkpatch: check vendor compatible with dashes Florian Vaussard
2014-03-08 20:59 ` [PATCH v4 0/4] checkpatch: enhance compatible string checking 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).