diff options
Diffstat (limited to 'include/linux/ftrace.h')
-rw-r--r-- | include/linux/ftrace.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 55e6d63d46d0..2d5964119885 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -18,6 +18,15 @@ | |||
18 | 18 | ||
19 | #include <asm/ftrace.h> | 19 | #include <asm/ftrace.h> |
20 | 20 | ||
21 | /* | ||
22 | * If the arch supports passing the variable contents of | ||
23 | * function_trace_op as the third parameter back from the | ||
24 | * mcount call, then the arch should define this as 1. | ||
25 | */ | ||
26 | #ifndef ARCH_SUPPORTS_FTRACE_OPS | ||
27 | #define ARCH_SUPPORTS_FTRACE_OPS 0 | ||
28 | #endif | ||
29 | |||
21 | struct module; | 30 | struct module; |
22 | struct ftrace_hash; | 31 | struct ftrace_hash; |
23 | 32 | ||
@@ -29,7 +38,10 @@ ftrace_enable_sysctl(struct ctl_table *table, int write, | |||
29 | void __user *buffer, size_t *lenp, | 38 | void __user *buffer, size_t *lenp, |
30 | loff_t *ppos); | 39 | loff_t *ppos); |
31 | 40 | ||
32 | typedef void (*ftrace_func_t)(unsigned long ip, unsigned long parent_ip); | 41 | struct ftrace_ops; |
42 | |||
43 | typedef void (*ftrace_func_t)(unsigned long ip, unsigned long parent_ip, | ||
44 | struct ftrace_ops *op); | ||
33 | 45 | ||
34 | /* | 46 | /* |
35 | * FTRACE_OPS_FL_* bits denote the state of ftrace_ops struct and are | 47 | * FTRACE_OPS_FL_* bits denote the state of ftrace_ops struct and are |
@@ -163,7 +175,7 @@ static inline int ftrace_function_local_disabled(struct ftrace_ops *ops) | |||
163 | return *this_cpu_ptr(ops->disabled); | 175 | return *this_cpu_ptr(ops->disabled); |
164 | } | 176 | } |
165 | 177 | ||
166 | extern void ftrace_stub(unsigned long a0, unsigned long a1); | 178 | extern void ftrace_stub(unsigned long a0, unsigned long a1, struct ftrace_ops *op); |
167 | 179 | ||
168 | #else /* !CONFIG_FUNCTION_TRACER */ | 180 | #else /* !CONFIG_FUNCTION_TRACER */ |
169 | /* | 181 | /* |