From: Joe Perches <joe@perches.com>
To: Finn Thain <fthain@telegraphics.com.au>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>,
linux-scsi@vger.kernel.org, Sam Creasey <sammy@sammy.net>,
Russell King <linux@arm.linux.org.uk>,
Michael Schmitz <schmitz@debian.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-m68k@vger.kernel.org
Subject: Re: [PATCH 00/12] scsi/NCR5380: fix debugging macros and #include structure
Date: Tue, 18 Mar 2014 05:45:02 -0700 [thread overview]
Message-ID: <1395146702.2812.47.camel@joe-AO722> (raw)
In-Reply-To: <alpine.LNX.2.00.1403182208590.2018@nippy.intranet>
On Tue, 2014-03-18 at 23:00 +1100, Finn Thain wrote:
> On Mon, 17 Mar 2014, Joe Perches wrote:
> > My preference would be to change dprintk to scsi_dbg
> Can you be more specific? I gather you're not referring to the debugging
> routines in include/scsi/scsi_dbg.h as they aren't equivalent.
>
> Is it the name "dprintk" you object to?
It's not an objection, just a preference.
I'm happy you're trying to wade through it and
promote some consistency in scsi. Thank you.
> I went looking in drivers/scsi/ for some kind of naming convention for a
> conditional printk. There are some other variations on the theme (DEBUG,
> PDEBUG, PERROR, etc) but dprintk() seems to be the most popular.
True. scsi is not what I would call an exemplar
for style consistency in linux-kernel.
Where is DEBUG #defined for this code?
git grep -w DEBUG drivers/scsi isn't pretty.
I suggest that dprintk be converted to something
that integrates well with the dynamic_debug
facility. Most of the helper functions that
are integrated with dynamic_debug are named
something like <some_prefix>_dbg.
Most of the scsi dprintk defines (not NCR)
are similar to:
drivers/scsi/hptiop.h-#if 0
drivers/scsi/hptiop.h:#define dprintk(fmt, args...) do { printk(fmt, ##args); } while(0)
drivers/scsi/hptiop.h-#else
drivers/scsi/hptiop.h:#define dprintk(fmt, args...)
drivers/scsi/hptiop.h-#endif
No dynamic_debug, no format/arg mismatch checking
if not compiled in, no KERN_DEBUG level, etc.
NCR does use pr_debug for the dprintk call, but
it also doesn't verify fmt/arg matching when not
compiled in
drivers/scsi/NCR5380.h-#if NDEBUG
drivers/scsi/NCR5380.h:#define dprintk(flg, fmt, args...) \
drivers/scsi/NCR5380.h- do { if ((NDEBUG) & (flg)) pr_debug(fmt, ## args); } while (0)
[]
drivers/scsi/NCR5380.h-#else
drivers/scsi/NCR5380.h:#define dprintk(flg, fmt, args...) do {} while (0)
It'd be nice to change the last do {} while (0)
to something like:
#define dprintk(flg, fmt, args...) \
do { if (0) pr_debug(fmt, ## args); } while (0)
so the compiler can always verify but not emit any
actual code or format strings.
Also, using macros with ... and __VA_ARGS__ is
a bit more modern.
#define dprintk(flg, fmt, ...) \
do { if (0) pr_debug(fmt, ##__VA_ARGS__); } while (0)
next prev parent reply other threads:[~2014-03-18 12:45 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-18 0:28 [PATCH 00/12] scsi/NCR5380: fix debugging macros and #include structure Finn Thain
2014-03-18 3:19 ` Joe Perches
2014-03-18 12:00 ` Finn Thain
2014-03-18 12:45 ` Joe Perches [this message]
2014-03-18 12:55 ` Geert Uytterhoeven
2014-03-18 13:07 ` Joe Perches
2014-03-18 13:13 ` Geert Uytterhoeven
2014-03-18 13:20 ` Joe Perches
2014-03-18 23:14 ` Finn Thain
2014-03-19 0:47 ` Joe Perches
2014-03-19 1:46 ` Finn Thain
2014-03-19 1:54 ` Joe Perches
-- strict thread matches above, loose matches on Subject: below --
2014-03-18 0:42 Finn Thain
Reply instructions:
You may reply publicly 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:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1395146702.2812.47.camel@joe-AO722 \
--to=joe@perches.com \
--cc=JBottomley@parallels.com \
--cc=fthain@telegraphics.com.au \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=sammy@sammy.net \
--cc=schmitz@debian.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox