};
 
 extern int event_enable_trigger_print(struct seq_file *m,
-                                     struct event_trigger_ops *ops,
-                                     struct event_trigger_data *data);
-extern void event_enable_trigger_free(struct event_trigger_ops *ops,
                                      struct event_trigger_data *data);
+extern void event_enable_trigger_free(struct event_trigger_data *data);
 extern int event_enable_trigger_parse(struct event_command *cmd_ops,
                                      struct trace_event_file *file,
                                      char *glob, char *cmd, char *param);
                                            struct event_trigger_data *test,
                                            struct trace_event_file *file);
 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 event_trigger_init(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);
                                           struct trace_buffer *buffer,
                                           void *rec,
                                           struct ring_buffer_event *rbe);
-       int                     (*init)(struct event_trigger_ops *ops,
-                                       struct event_trigger_data *data);
-       void                    (*free)(struct event_trigger_ops *ops,
-                                       struct event_trigger_data *data);
+       int                     (*init)(struct event_trigger_data *data);
+       void                    (*free)(struct event_trigger_data *data);
        int                     (*print)(struct seq_file *m,
-                                        struct event_trigger_ops *ops,
                                         struct event_trigger_data *data);
 };
 
 
  * functions are just stubs to fulfill what is needed to use the trigger
  * infrastructure.
  */
-static int eprobe_trigger_init(struct event_trigger_ops *ops,
-                              struct event_trigger_data *data)
+static int eprobe_trigger_init(struct event_trigger_data *data)
 {
        return 0;
 }
 
-static void eprobe_trigger_free(struct event_trigger_ops *ops,
-                               struct event_trigger_data *data)
+static void eprobe_trigger_free(struct event_trigger_data *data)
 {
 
 }
 
 static int eprobe_trigger_print(struct seq_file *m,
-                               struct event_trigger_ops *ops,
                                struct event_trigger_data *data)
 {
        /* Do not print eprobe event triggers */
 
                seq_puts(m, "\n\n");
 
        seq_puts(m, "# event histogram\n#\n# trigger info: ");
-       data->ops->print(m, data->ops, data);
+       data->ops->print(m, data);
        seq_puts(m, "#\n\n");
 
        hist_data = data->private_data;
                seq_puts(m, "\n\n");
 
        seq_puts(m, "# event histogram\n#\n# trigger info: ");
-       data->ops->print(m, data->ops, data);
+       data->ops->print(m, data);
        seq_puts(m, "#\n\n");
 
        hist_data = data->private_data;
 }
 
 static int event_hist_trigger_print(struct seq_file *m,
-                                   struct event_trigger_ops *ops,
                                    struct event_trigger_data *data)
 {
        struct hist_trigger_data *hist_data = data->private_data;
        return 0;
 }
 
-static int event_hist_trigger_init(struct event_trigger_ops *ops,
-                                  struct event_trigger_data *data)
+static int event_hist_trigger_init(struct event_trigger_data *data)
 {
        struct hist_trigger_data *hist_data = data->private_data;
 
        }
 }
 
-static void event_hist_trigger_free(struct event_trigger_ops *ops,
-                                   struct event_trigger_data *data)
+static void event_hist_trigger_free(struct event_trigger_data *data)
 {
        struct hist_trigger_data *hist_data = data->private_data;
 
        .free                   = event_hist_trigger_free,
 };
 
-static int event_hist_trigger_named_init(struct event_trigger_ops *ops,
-                                        struct event_trigger_data *data)
+static int event_hist_trigger_named_init(struct event_trigger_data *data)
 {
        data->ref++;
 
        save_named_trigger(data->named_data->name, data);
 
-       event_hist_trigger_init(ops, data->named_data);
+       event_hist_trigger_init(data->named_data);
 
        return 0;
 }
 
-static void event_hist_trigger_named_free(struct event_trigger_ops *ops,
-                                         struct event_trigger_data *data)
+static void event_hist_trigger_named_free(struct event_trigger_data *data)
 {
        if (WARN_ON_ONCE(data->ref <= 0))
                return;
 
-       event_hist_trigger_free(ops, data->named_data);
+       event_hist_trigger_free(data->named_data);
 
        data->ref--;
        if (!data->ref) {
        }
 
        if (data->ops->init) {
-               ret = data->ops->init(data->ops, data);
+               ret = data->ops->init(data);
                if (ret < 0)
                        goto out;
        }
        }
 
        if (unregistered && test->ops->free)
-               test->ops->free(test->ops, test);
+               test->ops->free(test);
 
        if (hist_data->enable_timestamps) {
                if (!hist_data->remove || unregistered)
                        if (hist_data->enable_timestamps)
                                tracing_set_filter_buffering(file->tr, false);
                        if (test->ops->free)
-                               test->ops->free(test->ops, test);
+                               test->ops->free(test);
                }
        }
 }
                        update_cond_flag(file);
                        trace_event_trigger_enable_disable(file, 0);
                        if (test->ops->free)
-                               test->ops->free(test->ops, test);
+                               test->ops->free(test);
                }
        }
 }
 
        }
 
        data = list_entry(v, struct event_trigger_data, list);
-       data->ops->print(m, data->ops, data);
+       data->ops->print(m, data);
 
        return 0;
 }
 
 /**
  * event_trigger_init - Generic event_trigger_ops @init implementation
- * @ops: The trigger ops associated with the trigger
  * @data: Trigger-specific data
  *
  * Common implementation of event trigger initialization.
  *
  * Return: 0 on success, errno otherwise
  */
-int event_trigger_init(struct event_trigger_ops *ops,
-                      struct event_trigger_data *data)
+int event_trigger_init(struct event_trigger_data *data)
 {
        data->ref++;
        return 0;
 
 /**
  * event_trigger_free - Generic event_trigger_ops @free implementation
- * @ops: The trigger ops associated with the trigger
  * @data: Trigger-specific data
  *
  * Common implementation of event trigger de-initialization.
  * implementations.
  */
 static void
-event_trigger_free(struct event_trigger_ops *ops,
-                  struct event_trigger_data *data)
+event_trigger_free(struct event_trigger_data *data)
 {
        if (WARN_ON_ONCE(data->ref <= 0))
                return;
                        trace_event_trigger_enable_disable(file, 0);
                        list_del_rcu(&data->list);
                        if (data->ops->free)
-                               data->ops->free(data->ops, data);
+                               data->ops->free(data);
                }
        }
 }
        }
 
        if (data->ops->init) {
-               ret = data->ops->init(data->ops, data);
+               ret = data->ops->init(data);
                if (ret < 0)
                        goto out;
        }
        }
 
        if (unregistered && data->ops->free)
-               data->ops->free(data->ops, data);
+               data->ops->free(data);
 }
 
 /*
 
  out_reg:
        /* Up the trigger_data count to make sure reg doesn't free it on failure */
-       event_trigger_init(trigger_ops, trigger_data);
+       event_trigger_init(trigger_data);
 
        ret = event_trigger_register(cmd_ops, file, glob, trigger_data);
        if (ret)
                goto out_free;
 
        /* Down the counter of trigger_data or free it if not used anymore */
-       event_trigger_free(trigger_ops, trigger_data);
+       event_trigger_free(trigger_data);
  out:
        return ret;
 
 }
 
 static int
-traceon_trigger_print(struct seq_file *m, struct event_trigger_ops *ops,
-                     struct event_trigger_data *data)
+traceon_trigger_print(struct seq_file *m, struct event_trigger_data *data)
 {
        return event_trigger_print("traceon", m, (void *)data->count,
                                   data->filter_str);
 }
 
 static int
-traceoff_trigger_print(struct seq_file *m, struct event_trigger_ops *ops,
-                      struct event_trigger_data *data)
+traceoff_trigger_print(struct seq_file *m, struct event_trigger_data *data)
 {
        return event_trigger_print("traceoff", m, (void *)data->count,
                                   data->filter_str);
 }
 
 static int
-snapshot_trigger_print(struct seq_file *m, struct event_trigger_ops *ops,
-                      struct event_trigger_data *data)
+snapshot_trigger_print(struct seq_file *m, struct event_trigger_data *data)
 {
        return event_trigger_print("snapshot", m, (void *)data->count,
                                   data->filter_str);
 }
 
 static int
-stacktrace_trigger_print(struct seq_file *m, struct event_trigger_ops *ops,
-                        struct event_trigger_data *data)
+stacktrace_trigger_print(struct seq_file *m, struct event_trigger_data *data)
 {
        return event_trigger_print("stacktrace", m, (void *)data->count,
                                   data->filter_str);
 }
 
 int event_enable_trigger_print(struct seq_file *m,
-                              struct event_trigger_ops *ops,
                               struct event_trigger_data *data)
 {
        struct enable_trigger_data *enable_data = data->private_data;
        return 0;
 }
 
-void event_enable_trigger_free(struct event_trigger_ops *ops,
-                              struct event_trigger_data *data)
+void event_enable_trigger_free(struct event_trigger_data *data)
 {
        struct enable_trigger_data *enable_data = data->private_data;
 
        }
 
        /* Up the trigger_data count to make sure nothing frees it on failure */
-       event_trigger_init(trigger_ops, trigger_data);
+       event_trigger_init(trigger_data);
 
        if (trigger) {
                number = strsep(&trigger, ":");
        if (ret)
                goto out_disable;
 
-       event_trigger_free(trigger_ops, trigger_data);
+       event_trigger_free(trigger_data);
  out:
        return ret;
 
  out_free:
        if (cmd_ops->set_filter)
                cmd_ops->set_filter(NULL, trigger_data, NULL);
-       event_trigger_free(trigger_ops, trigger_data);
+       event_trigger_free(trigger_data);
        kfree(enable_data);
        goto out;
 }
        }
 
        if (data->ops->init) {
-               ret = data->ops->init(data->ops, data);
+               ret = data->ops->init(data);
                if (ret < 0)
                        goto out;
        }
        }
 
        if (unregistered && data->ops->free)
-               data->ops->free(data->ops, data);
+               data->ops->free(data);
 }
 
 static struct event_trigger_ops *