[alsa-devel] [PATCH v2] ALSA: korg1212: cleanup of printk

Joe Perches joe at perches.com
Mon Nov 24 18:25:10 CET 2014


On Mon, 2014-11-24 at 18:08 +0100, Takashi Iwai wrote:
> At Sun, 23 Nov 2014 13:40:51 +0530, Sudip Mukherjee wrote:
[]
> > replaced all references of the debug messages via printk
> > with dev_* macro (mostly dev_dbg).
> > one reference was changed to pr_err as there the card might have been
> > uninitialized.
> > 
> > this patch will generate warning from checkpatch about broken quoted
> > strings. but that was not fixed intentionally to improve the
> > readability.

I think it'd be easier to read and grep coalesced.

[]

> > in your review of v1, you said about some lines which are not ending
> > with \n. but i was not able to find them. did i miss them somewhere?
[]
> The problem is the one with multiple "\n", for example:
> 
> 	dev_dbg(korg1212->card->dev, "dspMemPhy = %08x U[%08x], "
> 		"PlayDataPhy = %08x L[%08x]\n"
> 		"korg1212: RecDataPhy = %08x L[%08x], "
> 		"VolumeTablePhy = %08x L[%08x]\n"
> 		"korg1212: RoutingTablePhy = %08x L[%08x], "
> 		"AdatTimeCodePhy = %08x L[%08x]\n",

I think these should be individual dev_dbg calls

	dev_dbg(korg1212->card->dev, "dspMemPhy = %08x U[%08x]\n", val, val2)
	dev_dbg(korg1212->card->dev, "PhyDataPhy = %08x L[%08x]\n", val, val2);
	dev_dbg(korg1212->card->dev, "RecDataPhy = %08x L[%08x]\n", val, val2);
	dev_dbg(korg1212->card->dev, "VolumeTablePhy = %08x L[%08x]\n", val, val2);

	etc..

Another possibility is to use another macro like:

#define k1212_dbg(k1212, fmt, ...)			\
	dev_dbg((k)->card->dev, fmt, ##__VA_ARGS__)

and change all these to

	k1212_dbg(korg1212, "dspMemPhy = %08x U[%08x]\n", val, val2)
	k1212_dbg(korg1212, "PhyDataPhy = %08x L[%08x]\n", val, val2);
	k1212_dbg(korg1212, "RecDataPhy = %08x L[%08x]\n", val, val2);
	k1212_dbg(korg1212, "VolumeTablePhy = %08x L[%08x]\n", val, val2);

etc.

> My biggest concern right now is, however, about the unnecessary code
> increase by this patch.  Currently, most of debug prints were simply
> not built, because of:
> 
> >  // ----------------------------------------------------------------------------
> > -// Debug Stuff
> > -// ----------------------------------------------------------------------------
> > -#define K1212_DEBUG_LEVEL		0
> > -#if K1212_DEBUG_LEVEL > 0
> > -#define K1212_DEBUG_PRINTK(fmt,args...)	printk(KERN_DEBUG fmt,##args)
> > -#else
> > -#define K1212_DEBUG_PRINTK(fmt,...)
> > -#endif
> > -#if K1212_DEBUG_LEVEL > 1
> > -#define K1212_DEBUG_PRINTK_VERBOSE(fmt,args...)	printk(KERN_DEBUG fmt,##args)
> > -#else
> > -#define K1212_DEBUG_PRINTK_VERBOSE(fmt,...)
> > -#endif
> 
> With your patch, now all these codes are compiled.

Not really.

dev_dbg is a no-op unless DEBUG is #defined
or CONFIG_DYNAMIC_DEBUG is set.

> I have no clear answer what would be the best in such a case.  I'd say
> it really depends.  If they are just silly messages that can be
> covered in a better way (like ftrace), just get rid of them.  If they
> are intended for some good register dumps, then dev_dbg() might make
> sense.

very true.



More information about the Alsa-devel mailing list