Re: [PATCH 3/5] usb: Convert dbg to pr_eliminated and pr_debug

Greg Kroah-Hartman
2012-06-18T16:14:52Z

On Mon, Jun 18, 2012 at 09:07:10AM -0700, Joe Perches wrote:
> On Mon, 2012-06-18 at 08:23 -0700, Greg Kroah-Hartman wrote:
> > On Sun, Jun 17, 2012 at 07:25:10PM -0700, Joe Perches wrote:
> > > Change the dbg macro to use pr_eliminated when not
> > > DEBUG and pr_debug with DEBUG so dynamic_debug can
> > > be used.
> > >
> > > Signed-off-by: Joe Perches <joe@perches.com>
> > > ---
> > > include/linux/usb.h | 12 +++++-------
> > > 1 files changed, 5 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/include/linux/usb.h b/include/linux/usb.h
> > > index f717fbd..56b88b8 100644
> > > --- a/include/linux/usb.h
> > > +++ b/include/linux/usb.h
> > > @@ -1714,14 +1714,12 @@ extern void usb_register_notify(struct notifier_block *nb);
> > > extern void usb_unregister_notify(struct notifier_block *nb);
> > >
> > > #ifdef DEBUG
> > > -#define dbg(format, arg...) \
> > > - printk(KERN_DEBUG "%s: " format "\n", __FILE__, ##arg)
> > > +#define dbg(format, ...) \
> > > + pr_debug("%s: " format "\n", __FILE__, ##__VA_ARGS__)
> >
> > No, I really want to delete this macro entirely, and am slowly working
> > toward that, moving drivers to use the correct dev_dbg() macro instead.
>
> It'd be hard to replace it with only dev_dbg
> as no struct device is always available.

Agreed, but for almost all cases, a USB driver does have a struct
device. If it doesn't, odds are, the driver shouldn't be sending out
debug messages anyway :)

> And anyway, why go slowly? Why not just do it?

I take it you didn't see the 200+ patches in 3.5-rc1 that did a lot of
this work already? Is that slow?

> There's 41 files / 1442 instances
>
> $ git grep --name-only -E "^\s*#\s*include\s*[\<\"]linux/usb\.h[\>\"]" | \
> xargs grep -El "\bdbg\s*\("|wc -l
> 41
> $ git grep --name-only -E "^\s*#\s*include\s*[\<\"]linux/usb\.h[\>\"]" | \
> xargs grep -E "\bdbg\s*\(" | wc -l
> 1442
>
> There are also 5 redefinitions of dbg in there.

Yup, the usb-serial drivers have their own version as well.

It will happen, just give it a release or two to complete.

thanks,

greg k-h