Commit a39d4a85 authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds

printk: add and use LOGLEVEL_<level> defines for KERN_<LEVEL> equivalents

Use #defines instead of magic values.
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jason Baron <jbaron@akamai.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent f80e6968
...@@ -188,7 +188,7 @@ int usb_stor_dbg(const struct us_data *us, const char *fmt, ...) ...@@ -188,7 +188,7 @@ int usb_stor_dbg(const struct us_data *us, const char *fmt, ...)
va_start(args, fmt); va_start(args, fmt);
r = dev_vprintk_emit(7, &us->pusb_dev->dev, fmt, args); r = dev_vprintk_emit(LOGLEVEL_DEBUG, &us->pusb_dev->dev, fmt, args);
va_end(args); va_end(args);
......
...@@ -22,4 +22,17 @@ ...@@ -22,4 +22,17 @@
*/ */
#define KERN_CONT "" #define KERN_CONT ""
/* integer equivalents of KERN_<LEVEL> */
#define LOGLEVEL_SCHED -2 /* Deferred messages from sched code
* are set to this special level */
#define LOGLEVEL_DEFAULT -1 /* default (or last) loglevel */
#define LOGLEVEL_EMERG 0 /* system is unusable */
#define LOGLEVEL_ALERT 1 /* action must be taken immediately */
#define LOGLEVEL_CRIT 2 /* critical conditions */
#define LOGLEVEL_ERR 3 /* error conditions */
#define LOGLEVEL_WARNING 4 /* warning conditions */
#define LOGLEVEL_NOTICE 5 /* normal but significant condition */
#define LOGLEVEL_INFO 6 /* informational */
#define LOGLEVEL_DEBUG 7 /* debug-level messages */
#endif #endif
...@@ -62,9 +62,6 @@ int console_printk[4] = { ...@@ -62,9 +62,6 @@ int console_printk[4] = {
CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */ CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */
}; };
/* Deferred messaged from sched code are marked by this special level */
#define SCHED_MESSAGE_LOGLEVEL -2
/* /*
* Low level drivers may need that to know if they can schedule in * Low level drivers may need that to know if they can schedule in
* their unblank() callback or not. So let's export it. * their unblank() callback or not. So let's export it.
...@@ -1259,7 +1256,7 @@ static int syslog_print_all(char __user *buf, int size, bool clear) ...@@ -1259,7 +1256,7 @@ static int syslog_print_all(char __user *buf, int size, bool clear)
int do_syslog(int type, char __user *buf, int len, bool from_file) int do_syslog(int type, char __user *buf, int len, bool from_file)
{ {
bool clear = false; bool clear = false;
static int saved_console_loglevel = -1; static int saved_console_loglevel = LOGLEVEL_DEFAULT;
int error; int error;
error = check_syslog_permissions(type, from_file); error = check_syslog_permissions(type, from_file);
...@@ -1316,15 +1313,15 @@ int do_syslog(int type, char __user *buf, int len, bool from_file) ...@@ -1316,15 +1313,15 @@ int do_syslog(int type, char __user *buf, int len, bool from_file)
break; break;
/* Disable logging to console */ /* Disable logging to console */
case SYSLOG_ACTION_CONSOLE_OFF: case SYSLOG_ACTION_CONSOLE_OFF:
if (saved_console_loglevel == -1) if (saved_console_loglevel == LOGLEVEL_DEFAULT)
saved_console_loglevel = console_loglevel; saved_console_loglevel = console_loglevel;
console_loglevel = minimum_console_loglevel; console_loglevel = minimum_console_loglevel;
break; break;
/* Enable logging to console */ /* Enable logging to console */
case SYSLOG_ACTION_CONSOLE_ON: case SYSLOG_ACTION_CONSOLE_ON:
if (saved_console_loglevel != -1) { if (saved_console_loglevel != LOGLEVEL_DEFAULT) {
console_loglevel = saved_console_loglevel; console_loglevel = saved_console_loglevel;
saved_console_loglevel = -1; saved_console_loglevel = LOGLEVEL_DEFAULT;
} }
break; break;
/* Set level of messages printed to console */ /* Set level of messages printed to console */
...@@ -1336,7 +1333,7 @@ int do_syslog(int type, char __user *buf, int len, bool from_file) ...@@ -1336,7 +1333,7 @@ int do_syslog(int type, char __user *buf, int len, bool from_file)
len = minimum_console_loglevel; len = minimum_console_loglevel;
console_loglevel = len; console_loglevel = len;
/* Implicitly re-enable logging to console */ /* Implicitly re-enable logging to console */
saved_console_loglevel = -1; saved_console_loglevel = LOGLEVEL_DEFAULT;
error = 0; error = 0;
break; break;
/* Number of chars in the log buffer */ /* Number of chars in the log buffer */
...@@ -1629,8 +1626,8 @@ asmlinkage int vprintk_emit(int facility, int level, ...@@ -1629,8 +1626,8 @@ asmlinkage int vprintk_emit(int facility, int level,
/* cpu currently holding logbuf_lock in this function */ /* cpu currently holding logbuf_lock in this function */
static volatile unsigned int logbuf_cpu = UINT_MAX; static volatile unsigned int logbuf_cpu = UINT_MAX;
if (level == SCHED_MESSAGE_LOGLEVEL) { if (level == LOGLEVEL_SCHED) {
level = -1; level = LOGLEVEL_DEFAULT;
in_sched = true; in_sched = true;
} }
...@@ -1695,8 +1692,9 @@ asmlinkage int vprintk_emit(int facility, int level, ...@@ -1695,8 +1692,9 @@ asmlinkage int vprintk_emit(int facility, int level,
const char *end_of_header = printk_skip_level(text); const char *end_of_header = printk_skip_level(text);
switch (kern_level) { switch (kern_level) {
case '0' ... '7': case '0' ... '7':
if (level == -1) if (level == LOGLEVEL_DEFAULT)
level = kern_level - '0'; level = kern_level - '0';
/* fallthrough */
case 'd': /* KERN_DEFAULT */ case 'd': /* KERN_DEFAULT */
lflags |= LOG_PREFIX; lflags |= LOG_PREFIX;
} }
...@@ -1710,7 +1708,7 @@ asmlinkage int vprintk_emit(int facility, int level, ...@@ -1710,7 +1708,7 @@ asmlinkage int vprintk_emit(int facility, int level,
} }
} }
if (level == -1) if (level == LOGLEVEL_DEFAULT)
level = default_message_loglevel; level = default_message_loglevel;
if (dict) if (dict)
...@@ -1788,7 +1786,7 @@ EXPORT_SYMBOL(vprintk_emit); ...@@ -1788,7 +1786,7 @@ EXPORT_SYMBOL(vprintk_emit);
asmlinkage int vprintk(const char *fmt, va_list args) asmlinkage int vprintk(const char *fmt, va_list args)
{ {
return vprintk_emit(0, -1, NULL, 0, fmt, args); return vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, 0, fmt, args);
} }
EXPORT_SYMBOL(vprintk); EXPORT_SYMBOL(vprintk);
...@@ -1842,7 +1840,7 @@ asmlinkage __visible int printk(const char *fmt, ...) ...@@ -1842,7 +1840,7 @@ asmlinkage __visible int printk(const char *fmt, ...)
} }
#endif #endif
va_start(args, fmt); va_start(args, fmt);
r = vprintk_emit(0, -1, NULL, 0, fmt, args); r = vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, 0, fmt, args);
va_end(args); va_end(args);
return r; return r;
...@@ -2631,7 +2629,7 @@ int printk_deferred(const char *fmt, ...) ...@@ -2631,7 +2629,7 @@ int printk_deferred(const char *fmt, ...)
preempt_disable(); preempt_disable();
va_start(args, fmt); va_start(args, fmt);
r = vprintk_emit(0, SCHED_MESSAGE_LOGLEVEL, NULL, 0, fmt, args); r = vprintk_emit(0, LOGLEVEL_SCHED, NULL, 0, fmt, args);
va_end(args); va_end(args);
__this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT); __this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT);
......
...@@ -576,7 +576,7 @@ void __dynamic_dev_dbg(struct _ddebug *descriptor, ...@@ -576,7 +576,7 @@ void __dynamic_dev_dbg(struct _ddebug *descriptor,
} else { } else {
char buf[PREFIX_SIZE]; char buf[PREFIX_SIZE];
dev_printk_emit(7, dev, "%s%s %s: %pV", dev_printk_emit(LOGLEVEL_DEBUG, dev, "%s%s %s: %pV",
dynamic_emit_prefix(descriptor, buf), dynamic_emit_prefix(descriptor, buf),
dev_driver_string(dev), dev_name(dev), dev_driver_string(dev), dev_name(dev),
&vaf); &vaf);
...@@ -605,7 +605,7 @@ void __dynamic_netdev_dbg(struct _ddebug *descriptor, ...@@ -605,7 +605,7 @@ void __dynamic_netdev_dbg(struct _ddebug *descriptor,
if (dev && dev->dev.parent) { if (dev && dev->dev.parent) {
char buf[PREFIX_SIZE]; char buf[PREFIX_SIZE];
dev_printk_emit(7, dev->dev.parent, dev_printk_emit(LOGLEVEL_DEBUG, dev->dev.parent,
"%s%s %s %s%s: %pV", "%s%s %s %s%s: %pV",
dynamic_emit_prefix(descriptor, buf), dynamic_emit_prefix(descriptor, buf),
dev_driver_string(dev->dev.parent), dev_driver_string(dev->dev.parent),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment