Re: [PATCH] checkpatch: prefer dev_( to dev_printk(KERN_

Bjorn Helgaas
2013-01-03T00:35:08Z

On Wed, Jan 2, 2013 at 6:06 PM, Joe Perches <joe@perches.com> wrote:
> Add YA check to printk style.
>
> dev_<level> uses are functions and generate smaller
> object code than dev_printk(KERN_<LEVEL>.
>
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
> scripts/checkpatch.pl | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 4d2c7df..f50b32d 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2430,6 +2430,16 @@ sub process {
> "Prefer pr_warn(... to pr_warning(...\n" . $herecurr);
> }
>
> + if ($line =~ /\bdev_printk\s*\(\s*KERN_([A-Z]+)/) {
> + my $orig = $1;
> + my $level = lc($orig);
> + $level = "warn" if ($level eq "warning");
> + my $level2 = $level;
> + $level2 = "dbg" if ($level eq "debug");
> + WARN("PREFER_DEV_LEVEL",
> + "Prefer dev_$level2(... to dev_printk(KERN_$orig, ...\n" . $herecurr);

This suggests dev_dbg() instead of dev_printk(KERN_DEBUG), doesn't it?
Those aren't equivalent (dev_printk() always does the printk, but in
many cases dev_dbg() does not, depending on CONFIG_DEBUG,
CONFIG_DYNAMIC_DEBUG, etc.)

> + }
> +
> # 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
>
>