Re: [RFC PATCH V2] checkpatch: Check output format style of __func__ uses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2016-03-14 at 06:19 +0100, Julia Lawall wrote:
> On Sun, 13 Mar 2016, Joe Perches wrote:
> > Loggng messages that emit function names have many different forms.
> > Perhaps it'd be better for logging consistency and grep ease to
> > exclusively use "%s:"
> > 
> > As well, function tracing logging uses are generally unnecessary given
> > the kernel's function tracing (ftrace) capability.
> > 
> > Right now, grep shows these mixtures of forms:
> > 
> > 13704 "%s:"
> > 3839  "%s "
> > 2787  "%s()"
> > 
> > Some of these are macros definitions of various styles.
> > 
> > Unfortunately, given the complexity of these macro definition styles,
> > checkpatch isn't an ideal tool to find these macros.
> > 
> > Maybe a coccinelle script might be better suited to find and fix all
> > the various types of uses.
> > 
> > Add a --fix option for these logging messages with __func__.
> 
> I'm not good enough at perl to really understand this.  Coudl you give an 
> example of what it does, and of what it does not do?

For instance, this could do simple conversions like:

$ diff --git a/arch/arm/common/mcpm_entry.c b/arch/arm/common/mcpm_entry.c
@@ -416 +416 @@ int __init mcpm_loopback(void (*cache_disable)(void))
-               pr_err("%s returned %d\n", __func__, ret);
+               pr_err("%s: returned %d\n", __func__, ret);

But it couldn't find/convert a string concatenation:

#define pch_dbg(adap, fmt, arg...)  \
        dev_dbg(adap->pch_adapter.dev.parent, "%s :" fmt, __func__, ##arg)

cheers, Joe
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux