From 81936774c86edb989da8260f22b2ceea8c5af489 Mon Sep 17 00:00:00 2001 From: ArturX Kloniecki Date: Wed, 30 Oct 2019 10:43:26 +0100 Subject: [PATCH] notifier: Add traces for notifier. Signed-off-by: ArturX Kloniecki --- src/include/user/trace.h | 1 + src/lib/notifier.c | 12 +++++++++++- tools/logger/convert.c | 1 + tools/testbench/trace.c | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/include/user/trace.h b/src/include/user/trace.h index e8d267f73..3936d8772 100644 --- a/src/include/user/trace.h +++ b/src/include/user/trace.h @@ -62,6 +62,7 @@ struct system_time { #define TRACE_CLASS_KEYWORD (33 << 24) #define TRACE_CLASS_CHMAP (34 << 24) #define TRACE_CLASS_ASRC (35 << 24) +#define TRACE_CLASS_NOTIFIER (36 << 24) #define LOG_ENABLE 1 /* Enable logging */ #define LOG_DISABLE 0 /* Disable logging */ diff --git a/src/lib/notifier.c b/src/lib/notifier.c index 5dbe753f8..4f14fe53f 100644 --- a/src/lib/notifier.c +++ b/src/lib/notifier.c @@ -15,6 +15,13 @@ #include #include +#define trace_notifier(__e, ...) \ + trace_event(TRACE_CLASS_NOTIFIER, __e, ##__VA_ARGS__) +#define tracev_notifier(__e, ...) \ + tracev_event(TRACE_CLASS_NOTIFIER, __e, ##__VA_ARGS__) +#define trace_notifier_error(__e, ...) \ + trace_error(TRACE_CLASS_NOTIFIER, __e, ##__VA_ARGS__) + struct notify_data { void *caller; enum notify_id type; @@ -42,8 +49,11 @@ int notifier_register(void *receiver, void *caller, enum notify_id type, handle = rzalloc(RZONE_SYS_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*handle)); - if (!handle) + if (!handle) { + trace_notifier_error("notifier_register() error: callback " + "handle allocation failed."); return -ENOMEM; + } handle->receiver = receiver; handle->caller = caller; diff --git a/tools/logger/convert.c b/tools/logger/convert.c index 597a2501f..b33d472f2 100644 --- a/tools/logger/convert.c +++ b/tools/logger/convert.c @@ -102,6 +102,7 @@ static const char * get_component_name(uint32_t component_id) { CASE(KEYWORD); CASE(CHMAP); CASE(ASRC); + CASE(NOTIFIER); default: return "unknown"; } } diff --git a/tools/testbench/trace.c b/tools/testbench/trace.c index d79e672bd..dbe98bf16 100644 --- a/tools/testbench/trace.c +++ b/tools/testbench/trace.c @@ -56,6 +56,7 @@ char *get_trace_class(uint32_t trace_class) CASE(KEYWORD); CASE(CHMAP); CASE(ASRC); + CASE(NOTIFIER); default: return "unknown"; } }