From ec6db6c297afa8ef9f72c73c067d98e764aeae25 Mon Sep 17 00:00:00 2001 From: Evan Benn Date: Thu, 1 Apr 2021 13:49:30 +1100 Subject: patman: Parse checkpatch by message instead of by line Parse each empty-line-delimited message separately. This saves having to deal with all the different line content styles, we only care about the header ERROR | WARNING | NOTE... Also make checkpatch print line information for a uboot specific warning. Signed-off-by: Evan Benn Reviewed-by: Simon Glass --- scripts/checkpatch.pl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'scripts/checkpatch.pl') diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 4e047586a68..59a714a95fa 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -2326,13 +2326,15 @@ sub get_raw_comment { # suffix: Suffix to expect on member, e.g. "_priv" # warning: Warning name, e.g. "PRIV_AUTO" sub u_boot_struct_name { - my ($line, $auto, $suffix, $warning) = @_; + my ($line, $auto, $suffix, $warning, $herecurr) = @_; # Use _priv as a suffix for the device-private data struct if ($line =~ /^\+\s*\.${auto}\s*=\s*sizeof\(struct\((\w+)\).*/) { my $struct_name = $1; if ($struct_name !~ /^\w+${suffix}/) { - WARN($warning, "struct \'$struct_name\' should have a ${suffix} suffix"); + WARN($warning, + "struct \'$struct_name\' should have a ${suffix} suffix\n" + . $herecurr); } } } @@ -2410,17 +2412,17 @@ sub u_boot_line { } # Check struct names for the 'auto' members of struct driver - u_boot_struct_name($line, "priv_auto", "_priv", "PRIV_AUTO"); - u_boot_struct_name($line, "plat_auto", "_plat", "PLAT_AUTO"); - u_boot_struct_name($line, "per_child_auto", "_priv", "CHILD_PRIV_AUTO"); + u_boot_struct_name($line, "priv_auto", "_priv", "PRIV_AUTO", $herecurr); + u_boot_struct_name($line, "plat_auto", "_plat", "PLAT_AUTO", $herecurr); + u_boot_struct_name($line, "per_child_auto", "_priv", "CHILD_PRIV_AUTO", $herecurr); u_boot_struct_name($line, "per_child_plat_auto", "_plat", - "CHILD_PLAT_AUTO"); + "CHILD_PLAT_AUTO", $herecurr); # Now the ones for struct uclass, skipping those in common with above u_boot_struct_name($line, "per_device_auto", "_priv", - "DEVICE_PRIV_AUTO"); + "DEVICE_PRIV_AUTO", $herecurr); u_boot_struct_name($line, "per_device_plat_auto", "_plat", - "DEVICE_PLAT_AUTO"); + "DEVICE_PLAT_AUTO", $herecurr); } sub process { -- cgit v1.2.3