edac: add support for error type "Info"
Mauro Carvalho Chehab [Wed, 20 Feb 2013 00:26:22 +0000 (21:26 -0300)]
The CPER spec defines a forth type of error: informational
logs. Add support for it at the edac API and at the
trace event interface.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

include/linux/edac.h
include/ras/ras_event.h

index 096b7fc..4fd4999 100644 (file)
@@ -109,8 +109,24 @@ enum hw_event_mc_err_type {
        HW_EVENT_ERR_CORRECTED,
        HW_EVENT_ERR_UNCORRECTED,
        HW_EVENT_ERR_FATAL,
+       HW_EVENT_ERR_INFO,
 };
 
+static inline char *mc_event_error_type(const unsigned int err_type)
+{
+       switch (err_type) {
+       case HW_EVENT_ERR_CORRECTED:
+               return "Corrected";
+       case HW_EVENT_ERR_UNCORRECTED:
+               return "Uncorrected";
+       case HW_EVENT_ERR_FATAL:
+               return "Fatal";
+       default:
+       case HW_EVENT_ERR_INFO:
+               return "Info";
+       }
+}
+
 /**
  * enum mem_type - memory types. For a more detailed reference, please see
  *                     http://en.wikipedia.org/wiki/DRAM
index 260470e..21cdb0b 100644 (file)
@@ -78,9 +78,7 @@ TRACE_EVENT(mc_event,
 
        TP_printk("%d %s error%s:%s%s on %s (mc:%d location:%d:%d:%d address:0x%08lx grain:%d syndrome:0x%08lx%s%s)",
                  __entry->error_count,
-                 (__entry->error_type == HW_EVENT_ERR_CORRECTED) ? "Corrected" :
-                       ((__entry->error_type == HW_EVENT_ERR_FATAL) ?
-                       "Fatal" : "Uncorrected"),
+                 mc_event_error_type(__entry->error_type),
                  __entry->error_count > 1 ? "s" : "",
                  ((char *)__get_str(msg))[0] ? " " : "",
                  __get_str(msg),