From: Joe Perches Date: Mon, 30 Jul 2012 21:40:15 +0000 (-0700) Subject: sound: use printk_get_level and printk_skip_level X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=b778b3f25baf46dd88f16d51f1682828be0aa2ad;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git sound: use printk_get_level and printk_skip_level Make the output logging routine independent of the KERN_ style. Signed-off-by: Joe Perches Cc: Kay Sievers Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/sound/core/misc.c b/sound/core/misc.c index 76816792540..30e027ecf4d 100644 --- a/sound/core/misc.c +++ b/sound/core/misc.c @@ -68,6 +68,7 @@ void __snd_printk(unsigned int level, const char *path, int line, { va_list args; #ifdef CONFIG_SND_VERBOSE_PRINTK + int kern_level; struct va_format vaf; char verbose_fmt[] = KERN_DEFAULT "ALSA %s:%d %pV"; #endif @@ -81,12 +82,16 @@ void __snd_printk(unsigned int level, const char *path, int line, #ifdef CONFIG_SND_VERBOSE_PRINTK vaf.fmt = format; vaf.va = &args; - if (format[0] == '<' && format[2] == '>') { - memcpy(verbose_fmt, format, 3); - vaf.fmt = format + 3; + + kern_level = printk_get_level(format); + if (kern_level) { + const char *end_of_header = printk_skip_level(format); + memcpy(verbose_fmt, format, end_of_header - format); + vaf.fmt = end_of_header; } else if (level) - memcpy(verbose_fmt, KERN_DEBUG, 3); + memcpy(verbose_fmt, KERN_DEBUG, sizeof(KERN_DEBUG) - 1); printk(verbose_fmt, sanity_file_name(path), line, &vaf); + #else vprintk(format, args); #endif