Re: [RFC][WAS:bcmai][PATCH V2] axi: add AXI bus driver

Joe Perches
2011-04-09T00:07:46Z

On Sat, 2011-04-09 at 02:03 +0200, Rafał Miłecki wrote:
> 2011/4/8 Joe Perches <joe@perches.com>:
> > On Fri, 2011-04-08 at 21:46 +0200, Rafał Miłecki wrote:
> >> 2011/4/8 Joe Perches <joe@perches.com>:
> >> > On Fri, 2011-04-08 at 21:45 +0200, Rafał Miłecki wrote:
> >> >> diff --git a/include/linux/axi/axi.h b/include/linux/axi/axi.h
> >> > []
> >> >> +#define axi_info pr_info
> >> >> +#ifdef CONFIG_AXI_DEBUG
> >> >> +#define axi_debug pr_debug
> >> >> +#else
> >> >> +#define axi_debug do { } while (0)
> >> >> +#endif
> >> >> +#define axi_err pr_err
> >> > I think redefining standard functionality like
> >> > this doesn't gain anything and loses some basic
> >> > grep capability.
> >> But on the other hand using:
> >> pr_info, pr_err, BUT axi_debug
> >> can easily lead to mistakes.
> >> Or is this possible to re-define pr_debug locally?
> > It is, but is that CONFIG_AXI_DEBUG actually
> > worthwhile?
> > If you think so, doesn't adding this to the Makefile
> > give you the same capability?
> > ccflags-$(CONFIG_CONFIG_AXI_DEBUG) := -DDEBUG

Just CONFIG_AXI_DEBUG of course.

> But pr_debug does not depend on DEBUG define:
> http://lxr.free-electrons.com/source/tools/perf/util/include/linux/kernel.h#L94
> How do you expect -DDEBUG to affect pr_debug? Could you explain this
> to me, please?

Sure. You're not looking at the right place.

Look instead at include/linux/printk.h

/* If you are writing a driver, please use dev_dbg instead */
#if defined(DEBUG)
#define pr_debug(fmt, ...) \
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#elif defined(CONFIG_DYNAMIC_DEBUG)
/* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
#define pr_debug(fmt, ...) \
dynamic_pr_debug(fmt, ##__VA_ARGS__)
#else
#define pr_debug(fmt, ...) \
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#endif

cheers, Joe