Commit c63b7682 authored by Tal Shorer's avatar Tal Shorer Committed by Steven Rostedt

tracing: Allow disabling compilation of specific trace systems

Allow a trace events header file to disable compilation of its
trace events by defining the preprocessor macro NOTRACE.

This could be done, for example, according to a Kconfig option.

Link: http://lkml.kernel.org/r/1438432079-11704-3-git-send-email-tal.shorer@gmail.comSigned-off-by: default avatarTal Shorer <tal.shorer@gmail.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent b86d9371
...@@ -111,7 +111,18 @@ extern void syscall_unregfunc(void); ...@@ -111,7 +111,18 @@ extern void syscall_unregfunc(void);
#define TP_ARGS(args...) args #define TP_ARGS(args...) args
#define TP_CONDITION(args...) args #define TP_CONDITION(args...) args
#ifdef CONFIG_TRACEPOINTS /*
* Individual subsystem my have a separate configuration to
* enable their tracepoints. By default, this file will create
* the tracepoints if CONFIG_TRACEPOINT is defined. If a subsystem
* wants to be able to disable its tracepoints from being created
* it can define NOTRACE before including the tracepoint headers.
*/
#if defined(CONFIG_TRACEPOINTS) && !defined(NOTRACE)
#define TRACEPOINTS_ENABLED
#endif
#ifdef TRACEPOINTS_ENABLED
/* /*
* it_func[0] is never NULL because there is at least one element in the array * it_func[0] is never NULL because there is at least one element in the array
...@@ -234,7 +245,7 @@ extern void syscall_unregfunc(void); ...@@ -234,7 +245,7 @@ extern void syscall_unregfunc(void);
#define EXPORT_TRACEPOINT_SYMBOL(name) \ #define EXPORT_TRACEPOINT_SYMBOL(name) \
EXPORT_SYMBOL(__tracepoint_##name) EXPORT_SYMBOL(__tracepoint_##name)
#else /* !CONFIG_TRACEPOINTS */ #else /* !TRACEPOINTS_ENABLED */
#define __DECLARE_TRACE(name, proto, args, cond, data_proto, data_args) \ #define __DECLARE_TRACE(name, proto, args, cond, data_proto, data_args) \
static inline void trace_##name(proto) \ static inline void trace_##name(proto) \
{ } \ { } \
...@@ -266,7 +277,7 @@ extern void syscall_unregfunc(void); ...@@ -266,7 +277,7 @@ extern void syscall_unregfunc(void);
#define EXPORT_TRACEPOINT_SYMBOL_GPL(name) #define EXPORT_TRACEPOINT_SYMBOL_GPL(name)
#define EXPORT_TRACEPOINT_SYMBOL(name) #define EXPORT_TRACEPOINT_SYMBOL(name)
#endif /* CONFIG_TRACEPOINTS */ #endif /* TRACEPOINTS_ENABLED */
#ifdef CONFIG_TRACING #ifdef CONFIG_TRACING
/** /**
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
#undef DECLARE_TRACE #undef DECLARE_TRACE
#define DECLARE_TRACE(name, proto, args) #define DECLARE_TRACE(name, proto, args)
#ifdef CONFIG_EVENT_TRACING #ifdef TRACEPOINTS_ENABLED
#include <trace/trace_events.h> #include <trace/trace_events.h>
#include <trace/perf.h> #include <trace/perf.h>
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment