Hi,Actually, Joe Perches, gave a good reason for using the MACRO #define method; so, this could really turn into an interesting discussion.
James Kosin <jkosin@xxxxxxxxxxxxxxxxxx> writes:
Sam Ravnborg wrote:
On Wed, May 28, 2008 at 02:51:02PM -0500, Steve French wrote:<<--SNIP-->>
In trying to remove some macros, I ran across another kernel style
With reference to a recent thread about kconfigAnother way would be to have:
I would prefer:
static inline void some_debug_function(var1)
{
if (KCONFIG_DEBUG_SOMETHING) {
something = var1;
printk(some debug text);
}
}
But we do not have KCONFIG_DEBUG_SOMETHING available
so the second best is to use an empty function
to keep the typechecking in place.
IIRC gcc optimize both away.
static inline void some_debug_function(var1)
{
#ifdef KCONFIG_DEBUG_SOMETHING
something = var1;
printk(some debug text);
#endif
}
BUT, this probably violates some styling rules.
Without indenting the ifdefs, I think this solution is the best.
It gives you the advantages of type checking but saves a superfluous
prototype.
Hannes
Attachment:
signature.asc
Description: OpenPGP digital signature