Make various event trigger utility functions available outside of
trace_events_trigger.c so that new triggers can be defined outside of
that file.

Signed-off-by: Tom Zanussi <tom.zanu...@linux.intel.com>
Tested-by: Masami Hiramatsu <masami.hiramatsu...@hitachi.com>
---
 kernel/trace/trace.h                | 14 ++++++++++++++
 kernel/trace/trace_events_trigger.c | 28 +++++++++++++---------------
 2 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index fd22cd4..2aa03be 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -1176,6 +1176,20 @@ struct event_trigger_data {
        struct list_head                list;
 };
 
+extern void trigger_data_free(struct event_trigger_data *data);
+extern int event_trigger_init(struct event_trigger_ops *ops,
+                             struct event_trigger_data *data);
+extern int trace_event_trigger_enable_disable(struct trace_event_file *file,
+                                             int trigger_enable);
+extern void update_cond_flag(struct trace_event_file *file);
+extern void unregister_trigger(char *glob, struct event_trigger_ops *ops,
+                              struct event_trigger_data *test,
+                              struct trace_event_file *file);
+extern int set_trigger_filter(char *filter_str,
+                             struct event_trigger_data *trigger_data,
+                             struct trace_event_file *file);
+extern int register_event_command(struct event_command *cmd);
+
 /**
  * struct event_trigger_ops - callbacks for trace event triggers
  *
diff --git a/kernel/trace/trace_events_trigger.c 
b/kernel/trace/trace_events_trigger.c
index 4d2f3cc..6087052 100644
--- a/kernel/trace/trace_events_trigger.c
+++ b/kernel/trace/trace_events_trigger.c
@@ -28,8 +28,7 @@
 static LIST_HEAD(trigger_commands);
 static DEFINE_MUTEX(trigger_cmd_mutex);
 
-static void
-trigger_data_free(struct event_trigger_data *data)
+void trigger_data_free(struct event_trigger_data *data)
 {
        if (data->cmd_ops->set_filter)
                data->cmd_ops->set_filter(NULL, data, NULL);
@@ -311,7 +310,7 @@ const struct file_operations event_trigger_fops = {
  * Currently we only register event commands from __init, so mark this
  * __init too.
  */
-static __init int register_event_command(struct event_command *cmd)
+__init int register_event_command(struct event_command *cmd)
 {
        struct event_command *p;
        int ret = 0;
@@ -400,9 +399,8 @@ event_trigger_print(const char *name, struct seq_file *m,
  *
  * Return: 0 on success, errno otherwise
  */
-static int
-event_trigger_init(struct event_trigger_ops *ops,
-                  struct event_trigger_data *data)
+int event_trigger_init(struct event_trigger_ops *ops,
+                      struct event_trigger_data *data)
 {
        data->ref++;
        return 0;
@@ -430,8 +428,8 @@ event_trigger_free(struct event_trigger_ops *ops,
                trigger_data_free(data);
 }
 
-static int trace_event_trigger_enable_disable(struct trace_event_file *file,
-                                             int trigger_enable)
+int trace_event_trigger_enable_disable(struct trace_event_file *file,
+                                      int trigger_enable)
 {
        int ret = 0;
 
@@ -488,7 +486,7 @@ clear_event_triggers(struct trace_array *tr)
  * its TRIGGER_COND bit set, otherwise the TRIGGER_COND bit should be
  * cleared.
  */
-static void update_cond_flag(struct trace_event_file *file)
+void update_cond_flag(struct trace_event_file *file)
 {
        struct event_trigger_data *data;
        bool set_cond = false;
@@ -565,9 +563,9 @@ out:
  * Usually used directly as the @unreg method in event command
  * implementations.
  */
-static void unregister_trigger(char *glob, struct event_trigger_ops *ops,
-                              struct event_trigger_data *test,
-                              struct trace_event_file *file)
+void unregister_trigger(char *glob, struct event_trigger_ops *ops,
+                       struct event_trigger_data *test,
+                       struct trace_event_file *file)
 {
        struct event_trigger_data *data;
        bool unregistered = false;
@@ -701,9 +699,9 @@ event_trigger_callback(struct event_command *cmd_ops,
  *
  * Return: 0 on success, errno otherwise
  */
-static int set_trigger_filter(char *filter_str,
-                             struct event_trigger_data *trigger_data,
-                             struct trace_event_file *file)
+int set_trigger_filter(char *filter_str,
+                      struct event_trigger_data *trigger_data,
+                      struct trace_event_file *file)
 {
        struct event_trigger_data *data = trigger_data;
        struct event_filter *filter = NULL, *tmp;
-- 
1.9.3

--
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