At Fri, 31 May 2013 00:06:07 -0700, Joe Perches wrote:
On Fri, 2013-05-31 at 08:37 +0200, Takashi Iwai wrote:
It's a problem only with snd_printk(), as CONFIG_SND_VERBOSE_PRINTK influences on the behavior of snd_printk() and not on the debug prints with snd_printd() & co.
Are you're perhaps confused about how CONFIG_SND_VERBOSE_PRINTK works with or varies between snd_printd and snd_printk?
#if defined(CONFIG_SND_DEBUG) || defined(CONFIG_SND_VERBOSE_PRINTK) __printf(4, 5) void __snd_printk(unsigned int level, const char *file, int line, const char *format, ...);
...
#define snd_printk(fmt, args...) \ __snd_printk(0, __FILE__, __LINE__, fmt, ##args)
#ifdef CONFIG_SND_DEBUG [...] #define snd_printd(fmt, args...) \ __snd_printk(1, __FILE__, __LINE__, fmt, ##args)
I don't see a difference.
Erm, indeed. I thought we enabled the verobse prinkt always for debug prints. But it's not. It's more reason for dropping CONFIG_SND_VERBOSE_PRINTK :)
Hence, the goal we should achieve is rather to drop CONFIG_SND_VERBOSE_PRINTK. *This* is the useless thing.
Maybe.
Meanwhile, many snd_printk() messages might start looking annoying with the extra information. If so, such lines should be replaced with the standard prints like dev_*(). I think almost all snd_printk() like below are better replaced with standard ones.
below? Was there something that was supposed to be below? Are you referring to the KERN_ERR/urb example above?
Sorry, scratch it. Just a typo during changing the lines.
So, alternatively, we can begin with replacing some snd_printk() with the standard functions, then dropping CONFIG_SND_VERBOSE_PRINTK.
Dropping CONFIG_SND_VERBOSE_PRINTK would simplify code a bit.
I think most of snd_printd() and snd_printdd() can be kept as is. These are just debug messages, after all.
Some of those are emitted at levels other than KERN_DEBUG. I think that odd.
Yeah, they aren't good, but it's a different topic.
Takashi