Re: [PATCH] printk: Add and use LOGLEVEL_level defines for KERN_LEVEL equivalents

2014-11-03 Thread Greg KH
On Sun, Nov 02, 2014 at 01:42:34PM -0800, Joe Perches wrote:
 Use #defines instead of magic values.
 
 Signed-off-by: Joe Perches j...@perches.com

Acked-by: Greg Kroah-Hartman gre...@linuxfoundation.org

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] printk: Add and use LOGLEVEL_level defines for KERN_LEVEL equivalents

2014-11-02 Thread Joe Perches
Use #defines instead of magic values.

Signed-off-by: Joe Perches j...@perches.com
---
 drivers/usb/storage/debug.c |  2 +-
 include/linux/kern_levels.h | 13 +
 kernel/printk/printk.c  | 28 +---
 lib/dynamic_debug.c |  4 ++--
 4 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/drivers/usb/storage/debug.c b/drivers/usb/storage/debug.c
index e08f647..e43a956 100644
--- a/drivers/usb/storage/debug.c
+++ b/drivers/usb/storage/debug.c
@@ -186,7 +186,7 @@ int usb_stor_dbg(const struct us_data *us, const char *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);
 
diff --git a/include/linux/kern_levels.h b/include/linux/kern_levels.h
index 866caaa..3b9e71f 100644
--- a/include/linux/kern_levels.h
+++ b/include/linux/kern_levels.h
@@ -22,4 +22,17 @@
  */
 #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_NOTICE5   /* normal but significant 
condition */
+#define LOGLEVEL_INFO  6   /* informational */
+#define LOGLEVEL_DEBUG 7   /* debug-level messages */
+
 #endif
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index ced2b84..2b8606e 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -62,9 +62,6 @@ int console_printk[4] = {
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
  * 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)
 int do_syslog(int type, char __user *buf, int len, bool from_file)
 {
bool clear = false;
-   static int saved_console_loglevel = -1;
+   static int saved_console_loglevel = LOGLEVEL_DEFAULT;
int error;
 
error = check_syslog_permissions(type, from_file);
@@ -1316,15 +1313,15 @@ int do_syslog(int type, char __user *buf, int len, bool 
from_file)
break;
/* Disable logging to console */
case SYSLOG_ACTION_CONSOLE_OFF:
-   if (saved_console_loglevel == -1)
+   if (saved_console_loglevel == LOGLEVEL_DEFAULT)
saved_console_loglevel = console_loglevel;
console_loglevel = minimum_console_loglevel;
break;
/* Enable logging to console */
case SYSLOG_ACTION_CONSOLE_ON:
-   if (saved_console_loglevel != -1) {
+   if (saved_console_loglevel != LOGLEVEL_DEFAULT) {
console_loglevel = saved_console_loglevel;
-   saved_console_loglevel = -1;
+   saved_console_loglevel = LOGLEVEL_DEFAULT;
}
break;
/* Set level of messages printed to console */
@@ -1336,7 +1333,7 @@ int do_syslog(int type, char __user *buf, int len, bool 
from_file)
len = minimum_console_loglevel;
console_loglevel = len;
/* Implicitly re-enable logging to console */
-   saved_console_loglevel = -1;
+   saved_console_loglevel = LOGLEVEL_DEFAULT;
error = 0;
break;
/* Number of chars in the log buffer */
@@ -1629,8 +1626,8 @@ asmlinkage int vprintk_emit(int facility, int level,
/* cpu currently holding logbuf_lock in this function */
static volatile unsigned int logbuf_cpu = UINT_MAX;
 
-   if (level == SCHED_MESSAGE_LOGLEVEL) {
-   level = -1;
+   if (level == LOGLEVEL_SCHED) {
+   level = LOGLEVEL_DEFAULT;
in_sched = true;
}
 
@@ -1695,8 +1692,9 @@ asmlinkage int vprintk_emit(int facility, int level,
const char *end_of_header = printk_skip_level(text);
switch (kern_level) {
case '0' ... '7':
-   if (level == -1)
+   if (level == LOGLEVEL_DEFAULT)
level = kern_level - '0';
+   /* fallthrough */