forked from Minki/linux
tracing: Remove redundant trigger_ops params
Since event_trigger_data contains the .ops trigger_ops field, there's no reason to pass the trigger_ops separately. Remove it as a param from functions whenever event_trigger_data is passed. Link: https://lkml.kernel.org/r/9856c9bc81bde57077f5b8d6f8faa47156c6354a.1644010575.git.zanussi@kernel.org Signed-off-by: Tom Zanussi <zanussi@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
parent
b8cc44a4d3
commit
4767054195
@ -1573,10 +1573,8 @@ struct enable_trigger_data {
|
||||
};
|
||||
|
||||
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);
|
||||
@ -1587,8 +1585,7 @@ extern void event_enable_unregister_trigger(char *glob,
|
||||
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);
|
||||
@ -1687,12 +1684,9 @@ struct event_trigger_ops {
|
||||
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);
|
||||
};
|
||||
|
||||
|
@ -511,20 +511,17 @@ __eprobe_trace_func(struct eprobe_data *edata, void *rec)
|
||||
* 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 */
|
||||
|
@ -5252,7 +5252,7 @@ static void hist_trigger_show(struct seq_file *m,
|
||||
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;
|
||||
@ -5484,7 +5484,7 @@ static void hist_trigger_debug_show(struct seq_file *m,
|
||||
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;
|
||||
@ -5621,7 +5621,6 @@ static void hist_field_print(struct seq_file *m, struct hist_field *hist_field)
|
||||
}
|
||||
|
||||
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;
|
||||
@ -5729,8 +5728,7 @@ static int event_hist_trigger_print(struct seq_file *m,
|
||||
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;
|
||||
|
||||
@ -5758,8 +5756,7 @@ static void unregister_field_var_hists(struct hist_trigger_data *hist_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;
|
||||
|
||||
@ -5788,25 +5785,23 @@ static struct event_trigger_ops event_hist_trigger_ops = {
|
||||
.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) {
|
||||
@ -5993,7 +5988,7 @@ static int hist_register_trigger(char *glob,
|
||||
}
|
||||
|
||||
if (data->ops->init) {
|
||||
ret = data->ops->init(data->ops, data);
|
||||
ret = data->ops->init(data);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
}
|
||||
@ -6111,7 +6106,7 @@ static void hist_unregister_trigger(char *glob,
|
||||
}
|
||||
|
||||
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)
|
||||
@ -6164,7 +6159,7 @@ static void hist_unreg_all(struct trace_event_file *file)
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6458,7 +6453,7 @@ static void hist_enable_unreg_all(struct trace_event_file *file)
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ static int trigger_show(struct seq_file *m, void *v)
|
||||
}
|
||||
|
||||
data = list_entry(v, struct event_trigger_data, list);
|
||||
data->ops->print(m, data->ops, data);
|
||||
data->ops->print(m, data);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -432,7 +432,6 @@ event_trigger_print(const char *name, struct seq_file *m,
|
||||
|
||||
/**
|
||||
* 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.
|
||||
@ -442,8 +441,7 @@ event_trigger_print(const char *name, struct seq_file *m,
|
||||
*
|
||||
* 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;
|
||||
@ -451,7 +449,6 @@ int event_trigger_init(struct event_trigger_ops *ops,
|
||||
|
||||
/**
|
||||
* 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.
|
||||
@ -460,8 +457,7 @@ int event_trigger_init(struct event_trigger_ops *ops,
|
||||
* 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;
|
||||
@ -515,7 +511,7 @@ clear_event_triggers(struct trace_array *tr)
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -581,7 +577,7 @@ static int register_trigger(char *glob,
|
||||
}
|
||||
|
||||
if (data->ops->init) {
|
||||
ret = data->ops->init(data->ops, data);
|
||||
ret = data->ops->init(data);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
}
|
||||
@ -629,7 +625,7 @@ static void unregister_trigger(char *glob,
|
||||
}
|
||||
|
||||
if (unregistered && data->ops->free)
|
||||
data->ops->free(data->ops, data);
|
||||
data->ops->free(data);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1049,14 +1045,14 @@ event_trigger_parse(struct event_command *cmd_ops,
|
||||
|
||||
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;
|
||||
|
||||
@ -1382,16 +1378,14 @@ traceoff_count_trigger(struct event_trigger_data *data,
|
||||
}
|
||||
|
||||
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);
|
||||
@ -1502,8 +1496,7 @@ register_snapshot_trigger(char *glob,
|
||||
}
|
||||
|
||||
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);
|
||||
@ -1598,8 +1591,7 @@ stacktrace_count_trigger(struct event_trigger_data *data,
|
||||
}
|
||||
|
||||
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);
|
||||
@ -1689,7 +1681,6 @@ event_enable_count_trigger(struct event_trigger_data *data,
|
||||
}
|
||||
|
||||
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;
|
||||
@ -1714,8 +1705,7 @@ int event_enable_trigger_print(struct seq_file *m,
|
||||
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;
|
||||
|
||||
@ -1843,7 +1833,7 @@ int event_enable_trigger_parse(struct event_command *cmd_ops,
|
||||
}
|
||||
|
||||
/* 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, ":");
|
||||
@ -1887,7 +1877,7 @@ int event_enable_trigger_parse(struct event_command *cmd_ops,
|
||||
if (ret)
|
||||
goto out_disable;
|
||||
|
||||
event_trigger_free(trigger_ops, trigger_data);
|
||||
event_trigger_free(trigger_data);
|
||||
out:
|
||||
return ret;
|
||||
|
||||
@ -1898,7 +1888,7 @@ int event_enable_trigger_parse(struct event_command *cmd_ops,
|
||||
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;
|
||||
}
|
||||
@ -1926,7 +1916,7 @@ int event_enable_register_trigger(char *glob,
|
||||
}
|
||||
|
||||
if (data->ops->init) {
|
||||
ret = data->ops->init(data->ops, data);
|
||||
ret = data->ops->init(data);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
}
|
||||
@ -1969,7 +1959,7 @@ void event_enable_unregister_trigger(char *glob,
|
||||
}
|
||||
|
||||
if (unregistered && data->ops->free)
|
||||
data->ops->free(data->ops, data);
|
||||
data->ops->free(data);
|
||||
}
|
||||
|
||||
static struct event_trigger_ops *
|
||||
|
Loading…
Reference in New Issue
Block a user