The following commit will allow the use of a similar "link" tag.

Because there is a possibility that other similar tags will be added in
the future and to reduce the number of places where the code will be
modified to allow this new tag, a list with all these "link" tags is now
used.

Two variables are created from it: one to search for such tags and one
to print all tags in a warning message.

Suggested-by: Joe Perches <j...@perches.com>
Signed-off-by: Matthieu Baerts <matthieu.bae...@tessares.net>
---
 scripts/checkpatch.pl | 32 ++++++++++++++++++++++++--------
 1 file changed, 24 insertions(+), 8 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index bd44d12965c9..9d092ff4fc16 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -620,6 +620,22 @@ our $signature_tags = qr{(?xi:
        Cc:
 )};
 
+our @link_tags = qw(Link);
+
+#Create a search and print patterns for all these strings to be used directly 
below
+our $link_tags_search = "";
+our $link_tags_print = "";
+foreach my $entry (@link_tags) {
+       if ($link_tags_search ne "") {
+               $link_tags_search .= '|';
+               $link_tags_print .= ' or ';
+       }
+       $entry .= ':';
+       $link_tags_search .= $entry;
+       $link_tags_print .= "'$entry'";
+}
+$link_tags_search = "(?:${link_tags_search})";
+
 our $tracing_logging_tags = qr{(?xi:
        [=-]*> |
        <[=-]* |
@@ -3158,14 +3174,14 @@ sub process {
                                }
                        }
 
-# check if Reported-by: is followed by a Link:
+# check if Reported-by: is followed by a link tag
                        if ($sign_off =~ /^reported(?:|-and-tested)-by:$/i) {
                                if (!defined $lines[$linenr]) {
                                        WARN("BAD_REPORTED_BY_LINK",
-                                            "Reported-by: should be 
immediately followed by Link: to the report\n" . $herecurr . $rawlines[$linenr] 
. "\n");
-                               } elsif ($rawlines[$linenr] !~ 
m{^link:\s*https?://}i) {
+                                            "Reported-by: should be 
immediately followed by $link_tags_print to the report\n" . $herecurr . 
$rawlines[$linenr] . "\n");
+                               } elsif ($rawlines[$linenr] !~ 
m{^$link_tags_search\s*https?://}i) {
                                        WARN("BAD_REPORTED_BY_LINK",
-                                            "Reported-by: should be 
immediately followed by Link: with a URL to the report\n" . $herecurr . 
$rawlines[$linenr] . "\n");
+                                            "Reported-by: should be 
immediately followed by $link_tags_print with a URL to the report\n" . 
$herecurr . $rawlines[$linenr] . "\n");
                                }
                        }
                }
@@ -3250,8 +3266,8 @@ sub process {
                                        # file delta changes
                      $line =~ /^\s*(?:[\w\.\-\+]*\/)++[\w\.\-\+]+:/ ||
                                        # filename then :
-                     $line =~ /^\s*(?:Fixes:|Link:|$signature_tags)/i ||
-                                       # A Fixes: or Link: line or signature 
tag line
+                     $line =~ 
/^\s*(?:Fixes:|$link_tags_search|$signature_tags)/i ||
+                                       # A Fixes:, link or signature tag line
                      $commit_log_possible_stack_dump)) {
                        WARN("COMMIT_LOG_LONG_LINE",
                             "Possible unwrapped commit description (prefer a 
maximum 75 chars per line)\n" . $herecurr);
@@ -3266,13 +3282,13 @@ sub process {
 
 # Check for odd tags before a URI/URL
                if ($in_commit_log &&
-                   $line =~ /^\s*(\w+):\s*http/ && $1 ne 'Link') {
+                   $line =~ /^\s*(\w+:)\s*http/ && $1 !~ 
/^$link_tags_search$/) {
                        if ($1 =~ /^v(?:ersion)?\d+/i) {
                                WARN("COMMIT_LOG_VERSIONING",
                                     "Patch version information should be after 
the --- line\n" . $herecurr);
                        } else {
                                WARN("COMMIT_LOG_USE_LINK",
-                                    "Unknown link reference '$1:', use 'Link:' 
instead\n" . $herecurr);
+                                    "Unknown link reference '$1', use 
$link_tags_print instead\n" . $herecurr);
                        }
                }
 

-- 
2.39.2

Reply via email to