Re: [PATCH v2 4/4] coding-style: add explanation about pr_fmt macro

From: Andrà Almeida
Date: Mon Sep 16 2019 - 09:40:03 EST


On 9/14/19 4:50 AM, Jonathan Corbet wrote:
> On Fri, 13 Sep 2019 19:03:00 -0300
> Andrà Almeida <andrealmeid@xxxxxxxxxxxxx> wrote:
>
>> The pr_fmt macro is useful to format log messages printed by pr_XXXX()
>> functions. Add text to explain the purpose of it, how to use and an
>> example.
>
> So I've finally had a chance to take a real look at this...
>
>> diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst
>> index f4a2198187f9..1a33a933fbd3 100644
>> --- a/Documentation/process/coding-style.rst
>> +++ b/Documentation/process/coding-style.rst
>> @@ -819,7 +819,15 @@ which you should use to make sure messages are matched to the right device
>> and driver, and are tagged with the right level: dev_err(), dev_warn(),
>> dev_info(), and so forth. For messages that aren't associated with a
>> particular device, <linux/printk.h> defines pr_notice(), pr_info(),
>> -pr_warn(), pr_err(), etc.
>> +pr_warn(), pr_err(), etc. It's possible to format pr_XXX() messages using the
>> +macro pr_fmt() to prevent rewriting the style of messages. It should be
>> +defined before ``#include <linux/kernel.h>``, to avoid compiler warning about
>> +redefinitions, or just use ``#undef pr_fmt``. This is particularly useful for
>> +adding the name of the module at the beginning of the message, for instance:
>> +
>> +.. code-block:: c
>> +
>> + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>
> Honestly, I think that this is out of scope for a document on coding
> style. That document is already far too long for most people to read, I
> don't think we should load it down with more stuff that isn't directly
> style related.
>
> That said, the information can be useful. I wanted to say that it should
> go with the documentation of the pr_* macros but ... well ... um ... we
> don't seem to have a whole lot of that. Figures.
>
> I suspect this is more than you wanted to sign up for, but...IMO, the right
> thing to do is to fill printk.h with a nice set of kerneldoc comments
> describing how this stuff should be used, then to pull that information
> into the core-api manual, somewhere near our extensive discussion of printk
> formats. It's amazing that we lack docs for something so basic.
>

Thanks for the feedback jon. For now, I'll drop this patch for this
series. In a future patch I'll move this text for
Documentation/core-api/printk-formats.rst and will also add kernel-doc
comments to pr_XXXX() functions.

> Thanks,
>
> jon
>