[U-Boot] [PATCH] checkpatch.pl: Fix checkpatch.pl warnings with Perl 5.22

This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/#\s*define.*do\s{ <-- HERE / at ./scripts/checkpatch.pl line 2829.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(.*){ <-- HERE / at ./scripts/checkpatch.pl line 3262.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/do{ <-- HERE / at ./scripts/checkpatch.pl line 3263.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^({ <-- HERE / at ./scripts/checkpatch.pl line 3636.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?^x:
Signed-off-by: Moritz Fischer moritz.fischer@ettus.com --- scripts/checkpatch.pl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 74db2e2..3a6b9fa 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -2825,8 +2825,8 @@ sub process {
# function brace can't be on same line, except for #defines of do while, # or if closed on same line - if (($line=~/$Type\s*$Ident(.*).*\s{/) and - !($line=~/#\s*define.*do\s{/) and !($line=~/}/)) { + if (($line=~/$Type\s*$Ident(.*).*\s{/) and + !($line=~/#\s*define.*do\s{/) and !($line=~/}/)) { ERROR("OPEN_BRACE", "open brace '{' following function declarations go on the next line\n" . $herecurr); } @@ -3259,12 +3259,12 @@ sub process { ## }
#need space before brace following if, while, etc - if (($line =~ /(.*){/ && $line !~ /($Type){/) || - $line =~ /do{/) { + if (($line =~ /(.*){/ && $line !~ /($Type){/) || + $line =~ /do{/) { if (ERROR("SPACING", "space required before the open brace '{'\n" . $herecurr) && $fix) { - $fixed[$linenr - 1] =~ s/^(+.*(?:do|))){/$1 {/; + $fixed[$linenr - 1] =~ s/^(+.*(?:do|))){/$1 {/; } }
@@ -3633,7 +3633,7 @@ sub process { $dstat !~ /^for\s*$Constant$/ && # for (...) $dstat !~ /^for\s*$Constant\s+(?:$Ident|-?$Constant)$/ && # for (...) bar() $dstat !~ /^do\s*{/ && # do {... - $dstat !~ /^({/ && # ({... + $dstat !~ /^({/ && # ({... $ctx !~ /^.\s*#\s*define\s+TRACE_(?:SYSTEM|INCLUDE_FILE|INCLUDE_PATH)\b/) { $ctx =~ s/\n*$//;

On Thu, 2015-09-03 at 12:25 -0700, Moritz Fischer wrote:
This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Thanks.
I believe these are all fixed in linux-next and should be resolved when v4.3 is released.
commit 09165246126819ca19b47103d28392364bb599f1 Author: Eddie Kovsky ewk@edkovsky.org Date: Tue Aug 25 14:21:30 2015 +1000

Hi Moritz,
On Thu, Sep 3, 2015 at 2:25 PM, Moritz Fischer moritz.fischer@ettus.com wrote:
This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/#\s*define.*do\s{ <-- HERE / at ./scripts/checkpatch.pl line 2829.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(.*){ <-- HERE / at ./scripts/checkpatch.pl line 3262.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/do{ <-- HERE / at ./scripts/checkpatch.pl line 3263.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^({ <-- HERE / at ./scripts/checkpatch.pl line 3636.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?^x:
Signed-off-by: Moritz Fischer moritz.fischer@ettus.com
Please submit this and have it accepted in the Linux tree. We will then pull it in here once it is accepted there.
Thanks, -Joe

Hi Joe,
On Thu, 2015-09-03 at 15:46 -0500, Joe Hershberger wrote:
Hi Moritz,
On Thu, Sep 3, 2015 at 2:25 PM, Moritz Fischer moritz.fischer@ettus.com wrote:
This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/#\s*define.*do\s{ <-- HERE / at ./scripts/checkpatch.pl line 2829.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(.*){ <-- HERE / at ./scripts/checkpatch.pl line 3262.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/do{ <-- HERE / at ./scripts/checkpatch.pl line 3263.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^({ <-- HERE / at ./scripts/checkpatch.pl line 3636.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?^x:
Signed-off-by: Moritz Fischer moritz.fischer@ettus.com
Please submit this and have it accepted in the Linux tree. We will then pull it in here once it is accepted there.
Similar fix is already in Linus' master tree, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4e...
Also note: [1] That commit from Linux tree won't apply cleanly on U-Boot due to a bit different context. [2] Even if manually tweaked it looks like it is incomplete: ------------------->8------------------- )(.*).*\s{ <-- HERE / at scripts/checkpatch.pl line 2828. ------------------->8-------------------
So with above in mind could you please apply that patch posted by Moritz?
This fixes checkpatch in Fedora 23 - in current state it is way too noisy.
-Alexey

On Mon, Nov 30, 2015 at 10:23:20AM +0000, Alexey Brodkin wrote:
Hi Joe,
On Thu, 2015-09-03 at 15:46 -0500, Joe Hershberger wrote:
Hi Moritz,
On Thu, Sep 3, 2015 at 2:25 PM, Moritz Fischer moritz.fischer@ettus.com wrote:
This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/#\s*define.*do\s{ <-- HERE / at ./scripts/checkpatch.pl line 2829.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(.*){ <-- HERE / at ./scripts/checkpatch.pl line 3262.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/do{ <-- HERE / at ./scripts/checkpatch.pl line 3263.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^({ <-- HERE / at ./scripts/checkpatch.pl line 3636.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?^x:
Signed-off-by: Moritz Fischer moritz.fischer@ettus.com
Please submit this and have it accepted in the Linux tree. We will then pull it in here once it is accepted there.
Similar fix is already in Linus' master tree, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4e...
Also note: [1] That commit from Linux tree won't apply cleanly on U-Boot due to a bit different context. [2] Even if manually tweaked it looks like it is incomplete: ------------------->8------------------- )(.*).*\s{ <-- HERE / at scripts/checkpatch.pl line 2828. ------------------->8-------------------
So with above in mind could you please apply that patch posted by Moritz?
This fixes checkpatch in Fedora 23 - in current state it is way too noisy.
Maybe we just need to re-sync again?

Hi Tom,
On Mon, 2015-11-30 at 10:56 -0500, Tom Rini wrote:
On Mon, Nov 30, 2015 at 10:23:20AM +0000, Alexey Brodkin wrote:
Hi Joe,
On Thu, 2015-09-03 at 15:46 -0500, Joe Hershberger wrote:
Hi Moritz,
On Thu, Sep 3, 2015 at 2:25 PM, Moritz Fischer moritz.fischer@ettus.com wrote:
This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/#\s*define.*do\s{ <-- HERE / at ./scripts/checkpatch.pl line 2829.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(.*){ <-- HERE / at ./scripts/checkpatch.pl line 3262.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/do{ <-- HERE / at ./scripts/checkpatch.pl line 3263.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^({ <-- HERE / at ./scripts/checkpatch.pl line 3636.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?^x:
Signed-off-by: Moritz Fischer moritz.fischer@ettus.com
Please submit this and have it accepted in the Linux tree. We will then pull it in here once it is accepted there.
Similar fix is already in Linus' master tree, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4e...
Also note: [1] That commit from Linux tree won't apply cleanly on U-Boot due to a bit different context. [2] Even if manually tweaked it looks like it is incomplete: ------------------->8------------------- )(.*).*\s{ <-- HERE / at scripts/checkpatch.pl line 2828. ------------------->8-------------------
So with above in mind could you please apply that patch posted by Moritz?
This fixes checkpatch in Fedora 23 - in current state it is way too noisy.
Maybe we just need to re-sync again?
Do you mean to copy entire checkpatch.pl over from Linux to U-Boot?
-Alexey

On Mon, Nov 30, 2015 at 03:57:12PM +0000, Alexey Brodkin wrote:
Hi Tom,
On Mon, 2015-11-30 at 10:56 -0500, Tom Rini wrote:
On Mon, Nov 30, 2015 at 10:23:20AM +0000, Alexey Brodkin wrote:
Hi Joe,
On Thu, 2015-09-03 at 15:46 -0500, Joe Hershberger wrote:
Hi Moritz,
On Thu, Sep 3, 2015 at 2:25 PM, Moritz Fischer moritz.fischer@ettus.com wrote:
This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/#\s*define.*do\s{ <-- HERE / at ./scripts/checkpatch.pl line 2829.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(.*){ <-- HERE / at ./scripts/checkpatch.pl line 3262.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/do{ <-- HERE / at ./scripts/checkpatch.pl line 3263.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^({ <-- HERE / at ./scripts/checkpatch.pl line 3636.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?^x:
Signed-off-by: Moritz Fischer moritz.fischer@ettus.com
Please submit this and have it accepted in the Linux tree. We will then pull it in here once it is accepted there.
Similar fix is already in Linus' master tree, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4e...
Also note: [1] That commit from Linux tree won't apply cleanly on U-Boot due to a bit different context. [2] Even if manually tweaked it looks like it is incomplete: ------------------->8------------------- )(.*).*\s{ <-- HERE / at scripts/checkpatch.pl line 2828. ------------------->8-------------------
So with above in mind could you please apply that patch posted by Moritz?
This fixes checkpatch in Fedora 23 - in current state it is way too noisy.
Maybe we just need to re-sync again?
Do you mean to copy entire checkpatch.pl over from Linux to U-Boot?
Not quite blindly, we have an intentional change or two (I _think_ the change for __packed detection / warning was rejected upstream, memory is hazy) but by and large yes, it's just an import from the kernel anyhow.

Hi Tom,
On Mon, 2015-11-30 at 11:02 -0500, Tom Rini wrote:
On Mon, Nov 30, 2015 at 03:57:12PM +0000, Alexey Brodkin wrote:
Hi Tom,
On Mon, 2015-11-30 at 10:56 -0500, Tom Rini wrote:
On Mon, Nov 30, 2015 at 10:23:20AM +0000, Alexey Brodkin wrote:
Hi Joe,
On Thu, 2015-09-03 at 15:46 -0500, Joe Hershberger wrote:
Hi Moritz,
On Thu, Sep 3, 2015 at 2:25 PM, Moritz Fischer moritz.fischer@ettus.com wrote:
This patch fixes a bunch of deprecation warings that show up when using checkpatch.pl with Perl 5.22.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/#\s*define.*do\s{ <-- HERE / at ./scripts/checkpatch.pl line 2829.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(.*){ <-- HERE / at ./scripts/checkpatch.pl line 3262.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/do{ <-- HERE / at ./scripts/checkpatch.pl line 3263.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^({ <-- HERE / at ./scripts/checkpatch.pl line 3636.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?^x:
Signed-off-by: Moritz Fischer moritz.fischer@ettus.com
Please submit this and have it accepted in the Linux tree. We will then pull it in here once it is accepted there.
Similar fix is already in Linus' master tree, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4e... 2a
Also note: [1] That commit from Linux tree won't apply cleanly on U-Boot due to a bit different context. [2] Even if manually tweaked it looks like it is incomplete: ------------------->8------------------- )(.*).*\s{ <-- HERE / at scripts/checkpatch.pl line 2828. ------------------->8-------------------
So with above in mind could you please apply that patch posted by Moritz?
This fixes checkpatch in Fedora 23 - in current state it is way too noisy.
Maybe we just need to re-sync again?
Do you mean to copy entire checkpatch.pl over from Linux to U-Boot?
Not quite blindly, we have an intentional change or two (I _think_ the change for __packed detection / warning was rejected upstream, memory is hazy) but by and large yes, it's just an import from the kernel anyhow.
I'm fine with that but not sure if I may do it myself - at least I havent's tried it :) Volunteers?
-Alexey

On Mon, 2015-11-30 at 10:56 -0500, Tom Rini wrote:
On Mon, Nov 30, 2015 at 10:23:20AM +0000, Alexey Brodkin wrote:
[]
Similar fix is already in Linus' master tree, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/comm it/?id=4e5d56bdf892e18832a6540b63ebf709966bce2a
Also note: [1] That commit from Linux tree won't apply cleanly on U-Boot due to a bit different context. [2] Even if manually tweaked it looks like it is incomplete: ------------------->8------------------- )(.*).*\s{ <-- HERE / at scripts/checkpatch.pl line 2828. ------------------->8-------------------
So with above in mind could you please apply that patch posted by Moritz?
This fixes checkpatch in Fedora 23 - in current state it is way too noisy.
Maybe we just need to re-sync again?
I don't track u-boot.
Are there any u-boot specific changes made to checkpatch that are inappropriate for the linux-kernel?
If there aren't, maybe whatever u-boot changes that have been made to checkpatch should be pulled into the kernel version.

On Mon, Nov 30, 2015 at 08:06:45AM -0800, Joe Perches wrote:
On Mon, 2015-11-30 at 10:56 -0500, Tom Rini wrote:
On Mon, Nov 30, 2015 at 10:23:20AM +0000, Alexey Brodkin wrote:
[]
Similar fix is already in Linus' master tree, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/comm it/?id=4e5d56bdf892e18832a6540b63ebf709966bce2a
Also note: [1] That commit from Linux tree won't apply cleanly on U-Boot due to a bit different context. [2] Even if manually tweaked it looks like it is incomplete: ------------------->8------------------- )(.*).*\s{ <-- HERE / at scripts/checkpatch.pl line 2828. ------------------->8-------------------
So with above in mind could you please apply that patch posted by Moritz?
This fixes checkpatch in Fedora 23 - in current state it is way too noisy.
Maybe we just need to re-sync again?
I don't track u-boot.
Are there any u-boot specific changes made to checkpatch that are inappropriate for the linux-kernel?
If there aren't, maybe whatever u-boot changes that have been made to checkpatch should be pulled into the kernel version.
My memory is hazy, sorry, so I dug this up: https://lkml.org/lkml/2014/2/24/542 and then re-read most of it. I had a newer version of the __packed check that I didn't post (I'm pretty sure) since the general feedback seemed to be that it wasn't wanted for the kernel. Other than that (and some other tiny things that are easy to fixup) no, we don't have local changes.
participants (5)
-
Alexey Brodkin
-
Joe Hershberger
-
Joe Perches
-
Moritz Fischer
-
Tom Rini