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

Joe Perches
2013-01-03T00:39:56Z

On Wed, 2013-01-02 at 18:34 -0600, Bjorn Helgaas wrote:
> 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>.
[]
> > diff --git 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.)

True, I think the suggested change is appropriate though.

If people really want debug output in a specific file,
then they should #define DEBUG and/or enable dynamic debug.