[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 1/5] xen/console: consolidate log levels to an array



It cleaner than open-coding strings and numbers. The array will also
become handy later when we need to refactor things a bit.

No functional change.

Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
Cc: Jan Beulich <jbeulich@xxxxxxxx>
---
 xen/drivers/char/console.c | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 650035d..6620a1c 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -139,6 +139,20 @@ custom_param("guest_loglvl", parse_guest_loglvl);
 
 static atomic_t print_everything = ATOMIC_INIT(0);
 
+struct log_level {
+    const char *str;
+    unsigned int num;
+};
+
+static struct log_level __initdata log_levels[] = {
+    { "none",    0 },
+    { "error",   1 },
+    { "warning", 2 },
+    { "info",    3 },
+    { "debug",   4 },
+    { "all",     4 },
+};
+
 #define ___parse_loglvl(s, ps, lvlstr, lvlnum)          \
     if ( !strncmp((s), (lvlstr), strlen(lvlstr)) ) {    \
         *(ps) = (s) + strlen(lvlstr);                   \
@@ -147,12 +161,11 @@ static atomic_t print_everything = ATOMIC_INIT(0);
 
 static int __init __parse_loglvl(char *s, char **ps)
 {
-    ___parse_loglvl(s, ps, "none",    0);
-    ___parse_loglvl(s, ps, "error",   1);
-    ___parse_loglvl(s, ps, "warning", 2);
-    ___parse_loglvl(s, ps, "info",    3);
-    ___parse_loglvl(s, ps, "debug",   4);
-    ___parse_loglvl(s, ps, "all",     4);
+    unsigned int i;
+
+    for ( i = 0; i < ARRAY_SIZE(log_levels); i++ )
+        ___parse_loglvl(s, ps, log_levels[i].str, log_levels[i].num);
+
     return 2; /* sane fallback */
 }
 
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.