[alsa-devel] wrong print debugging message code

Takashi Iwai tiwai at suse.de
Mon Jun 23 12:55:57 CEST 2008


At Sat, 21 Jun 2008 14:44:47 +0900,
Jin-Young Park wrote:
> 
> Hello,
> 
> I written ASoC Audio driver for our company chip in linux kernel 2.6.24.1.
> New kernel 2.6.25.7 released before several days.
> So, I merge my ASoC Audio dirver to kernel 2.6.25.7.
> then I found wrong code that print debuuging message code in several files.
> These file location is kernel_src/sound/soc/codecs for SoC audio codec
> drvier files
> 
> These files include follow define code for print debug message.
> 
> ------------------------------------------------------------------------------------------------------------------------
> #define XXXX_DEBUG 0
> 
> #ifdef XXXX_DEBUG
> #define dbg(format, arg...) \
>         printk(KERN_DEBUG AUDIO_NAME ": " format "\n" , ## arg)
> #else
> #define dbg(format, arg...) do {} while (0)
> #endif
> ------------------------------------------------------------------------------------------------------------------------
> 
> I think "#ifdef XXXX_DEBUG" line is wrong. Because, XXXX_DEBUG was already
> defined 0.
> I known that "#ifdef" is only check defined or not defined, 0 or 1(false or
> true) are not check.
> "#if XXXX_DEBUG" code is more correct than "#ifdef XXXX_DEBUG".

#ifdef XXX_DEBUG is more common than #if XXX_DEBUG in the kernel
tree.  So, I'd suggest to keep #ifdef style.

The confusing thing is that it defines to '0' (and I'm not sure the
debug is activated as default in the current code -- Mark, Liam, is it
intentional?).

IMO, the debug should be basically off as default, and if enabled, it
should be defined to '1'.


Takashi


More information about the Alsa-devel mailing list