checkpatch: accept qca.qualcomm email addresses

@qca.qualcomm.com identities are allowed, hence
change the signed-off and author email validation to
accept @qca.qualcomm.com email addresses.

Change-Id: I8757226f53826c0e5e2825ebe89e80e10a2f18bb
Signed-off-by: Maya Erez <merez@codeaurora.org>
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 81ff8e2..c5b281e 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -65,6 +65,8 @@
 my $conststructsfile = "$D/const_structs.checkpatch";
 my $color = 1;
 my $allow_c99_comments = 1;
+my $qca_sign_off = 0;
+my $codeaurora_sign_off = 0;
 
 sub help {
 	my ($exitcode) = @_;
@@ -2609,10 +2611,16 @@
 					     "email address '$email' might be better as '$suggested_email$comment'\n" . $herecurr);
 				}
 			}
-			if ($chk_author && $line =~ /^\s*signed-off-by:.*(quicinc|qualcomm)\.com/i) {
-				WARN("BAD_SIGN_OFF",
-				     "invalid Signed-off-by identity\n" . $line );
-			}			
+			if ($chk_author) {
+				if ($line =~ /^\s*signed-off-by:.*qca\.qualcomm\.com/i) {
+					$qca_sign_off = 1;
+				} elsif ($line =~ /^\s*signed-off-by:.*codeaurora\.org/i) {
+					$codeaurora_sign_off = 1;
+				} elsif ($line =~ /^\s*signed-off-by:.*(quicinc|qualcomm)\.com/i) {
+					WARN("BAD_SIGN_OFF",
+					     "invalid Signed-off-by identity\n" . $line );
+				}
+			}
 
 # Check for duplicate signatures
 			my $sig_nospace = $line;
@@ -2745,7 +2753,8 @@
 		}
 
 #check the patch for invalid author credentials
-		if ($chk_author && $line =~ /^From:.*(quicinc|qualcomm)\.com/) {
+		if ($chk_author && !($line =~ /^From:.*qca\.qualcomm\.com/) &&
+		    $line =~ /^From:.*(quicinc|qualcomm)\.com/) {
 			WARN("BAD_AUTHOR", "invalid author identity\n" . $line );
 		}
 
@@ -6419,6 +6428,11 @@
 		}
 	}
 
+	if ($chk_author && $qca_sign_off && !$codeaurora_sign_off) {
+		WARN("BAD_SIGN_OFF",
+		     "QCA Signed-off-by requires CODEAURORA Signed-off-by\n" . $line );
+	}
+
 	# If we have no input at all, then there is nothing to report on
 	# so just keep quiet.
 	if ($#rawlines == -1) {