LKML Archive on
 help / color / Atom feed
From: Jonathan Corbet <>
To: "André Almeida" <>
Subject: Re: [PATCH v2 4/4] coding-style: add explanation about pr_fmt macro
Date: Sat, 14 Sep 2019 01:50:18 -0600
Message-ID: <> (raw)
In-Reply-To: <>

On Fri, 13 Sep 2019 19:03:00 -0300
André Almeida <> 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.



      parent reply index

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-13 22:02 [PATCH v2 0/4] null_blk: fixes around nr_devices and log improvements André Almeida
2019-09-13 22:02 ` [PATCH v2 1/4] null_blk: do not fail the module load with zero devices André Almeida
2019-09-13 22:15   ` Chaitanya Kulkarni
2019-09-13 22:17   ` Bart Van Assche
2019-09-13 22:37     ` Chaitanya Kulkarni
2019-09-13 22:02 ` [PATCH v2 2/4] null_blk: match the type of parameter nr_devices André Almeida
2019-09-13 22:15   ` Chaitanya Kulkarni
2019-09-13 22:02 ` [PATCH v2 3/4] null_blk: format pr_* logs with pr_fmt André Almeida
2019-09-13 22:16   ` Chaitanya Kulkarni
2019-09-13 22:03 ` [PATCH v2 4/4] coding-style: add explanation about pr_fmt macro André Almeida
2019-09-13 22:18   ` Chaitanya Kulkarni
2019-09-14  7:50   ` Jonathan Corbet [this message]

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on

Archives are clonable:
	git clone --mirror lkml/git/0.git
	git clone --mirror lkml/git/1.git
	git clone --mirror lkml/git/2.git
	git clone --mirror lkml/git/3.git
	git clone --mirror lkml/git/4.git
	git clone --mirror lkml/git/5.git
	git clone --mirror lkml/git/6.git
	git clone --mirror lkml/git/7.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ \
	public-inbox-index lkml

Newsgroup available over NNTP:

AGPL code for this site: git clone public-inbox