checkpatch: Prefer seq_puts to seq_printf

Add a check for seq_printf use with a constant format without additional
arguments.  Suggest seq_puts instead.

Signed-off-by: Joe Perches <joe@perches.com>
Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Joe Perches 2013-04-29 16:18:13 -07:00 committed by Linus Torvalds
parent 972fdea2e6
commit a6962d7273

View File

@ -628,6 +628,13 @@ sub sanitise_line {
return $res; return $res;
} }
sub get_quoted_string {
my ($line, $rawline) = @_;
return "" if ($line !~ m/(\"[X]+\")/g);
return substr($rawline, $-[0], $+[0] - $-[0]);
}
sub ctx_statement_block { sub ctx_statement_block {
my ($linenr, $remain, $off) = @_; my ($linenr, $remain, $off) = @_;
my $line = $linenr - 1; my $line = $linenr - 1;
@ -3373,6 +3380,15 @@ sub process {
"struct spinlock should be spinlock_t\n" . $herecurr); "struct spinlock should be spinlock_t\n" . $herecurr);
} }
# check for seq_printf uses that could be seq_puts
if ($line =~ /\bseq_printf\s*\(/) {
my $fmt = get_quoted_string($line, $rawline);
if ($fmt !~ /[^\\]\%/) {
WARN("PREFER_SEQ_PUTS",
"Prefer seq_puts to seq_printf\n" . $herecurr);
}
}
# Check for misused memsets # Check for misused memsets
if ($^V && $^V ge 5.10.0 && if ($^V && $^V ge 5.10.0 &&
defined $stat && defined $stat &&