The CPER spec defines a forth type of error: informational
logs. Add support for it at the trace event interface.
Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>
---
 include/linux/edac.h    | 15 +++++++++++++++
 include/ras/ras_event.h |  4 +---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/include/linux/edac.h b/include/linux/edac.h
index 1cd4472..4fd4999 100644
--- a/include/linux/edac.h
+++ b/include/linux/edac.h
@@ -112,6 +112,21 @@ enum hw_event_mc_err_type {
        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
diff --git a/include/ras/ras_event.h b/include/ras/ras_event.h
index 260470e..21cdb0b 100644
--- a/include/ras/ras_event.h
+++ b/include/ras/ras_event.h
@@ -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),
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to