#if defined(CONFIG_TRACER_SNAPSHOT) && defined(CONFIG_DYNAMIC_FTRACE)
static void
-ftrace_snapshot(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_snapshot(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
tracing_snapshot();
}
static void
-ftrace_count_snapshot(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_count_snapshot(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
unsigned long *count = (long *)data;
};
static void
-event_enable_probe(unsigned long ip, unsigned long parent_ip, void **_data)
+event_enable_probe(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **_data)
{
struct event_probe_data **pdata = (struct event_probe_data **)_data;
struct event_probe_data *data = *pdata;
}
static void
-event_enable_count_probe(unsigned long ip, unsigned long parent_ip, void **_data)
+event_enable_count_probe(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **_data)
{
struct event_probe_data **pdata = (struct event_probe_data **)_data;
struct event_probe_data *data = *pdata;
if (data->count != -1)
(data->count)--;
- event_enable_probe(ip, parent_ip, _data);
+ event_enable_probe(ip, parent_ip, ops, _data);
}
static int
}
static void
-ftrace_traceon_count(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_traceon_count(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
update_traceon_count(data, 1);
}
static void
-ftrace_traceoff_count(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_traceoff_count(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
update_traceon_count(data, 0);
}
static void
-ftrace_traceon(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_traceon(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
if (tracing_is_on())
return;
}
static void
-ftrace_traceoff(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_traceoff(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
if (!tracing_is_on())
return;
#define STACK_SKIP 4
static void
-ftrace_stacktrace(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_stacktrace(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
trace_dump_stack(STACK_SKIP);
}
static void
-ftrace_stacktrace_count(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_stacktrace_count(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
long *count = (long *)data;
long old_count;
}
static void
-ftrace_dump_probe(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_dump_probe(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
if (update_count(data))
ftrace_dump(DUMP_ALL);
/* Only dump the current CPU buffer. */
static void
-ftrace_cpudump_probe(unsigned long ip, unsigned long parent_ip, void **data)
+ftrace_cpudump_probe(unsigned long ip, unsigned long parent_ip,
+ struct ftrace_probe_ops *ops, void **data)
{
if (update_count(data))
ftrace_dump(DUMP_ORIG);