aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ftrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ftrace.h')
-rw-r--r--include/linux/ftrace.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index e5ca8ef50e9b..f83e17a40e8b 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -89,6 +89,7 @@ typedef void (*ftrace_func_t)(unsigned long ip, unsigned long parent_ip,
89 * that the call back has its own recursion protection. If it does 89 * that the call back has its own recursion protection. If it does
90 * not set this, then the ftrace infrastructure will add recursion 90 * not set this, then the ftrace infrastructure will add recursion
91 * protection for the caller. 91 * protection for the caller.
92 * STUB - The ftrace_ops is just a place holder.
92 */ 93 */
93enum { 94enum {
94 FTRACE_OPS_FL_ENABLED = 1 << 0, 95 FTRACE_OPS_FL_ENABLED = 1 << 0,
@@ -98,6 +99,7 @@ enum {
98 FTRACE_OPS_FL_SAVE_REGS = 1 << 4, 99 FTRACE_OPS_FL_SAVE_REGS = 1 << 4,
99 FTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED = 1 << 5, 100 FTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED = 1 << 5,
100 FTRACE_OPS_FL_RECURSION_SAFE = 1 << 6, 101 FTRACE_OPS_FL_RECURSION_SAFE = 1 << 6,
102 FTRACE_OPS_FL_STUB = 1 << 7,
101}; 103};
102 104
103struct ftrace_ops { 105struct ftrace_ops {
@@ -259,8 +261,10 @@ struct ftrace_probe_ops {
259 void (*func)(unsigned long ip, 261 void (*func)(unsigned long ip,
260 unsigned long parent_ip, 262 unsigned long parent_ip,
261 void **data); 263 void **data);
262 int (*callback)(unsigned long ip, void **data); 264 int (*init)(struct ftrace_probe_ops *ops,
263 void (*free)(void **data); 265 unsigned long ip, void **data);
266 void (*free)(struct ftrace_probe_ops *ops,
267 unsigned long ip, void **data);
264 int (*print)(struct seq_file *m, 268 int (*print)(struct seq_file *m,
265 unsigned long ip, 269 unsigned long ip,
266 struct ftrace_probe_ops *ops, 270 struct ftrace_probe_ops *ops,
@@ -394,7 +398,6 @@ ssize_t ftrace_filter_write(struct file *file, const char __user *ubuf,
394 size_t cnt, loff_t *ppos); 398 size_t cnt, loff_t *ppos);
395ssize_t ftrace_notrace_write(struct file *file, const char __user *ubuf, 399ssize_t ftrace_notrace_write(struct file *file, const char __user *ubuf,
396 size_t cnt, loff_t *ppos); 400 size_t cnt, loff_t *ppos);
397loff_t ftrace_regex_lseek(struct file *file, loff_t offset, int whence);
398int ftrace_regex_release(struct inode *inode, struct file *file); 401int ftrace_regex_release(struct inode *inode, struct file *file);
399 402
400void __init 403void __init
@@ -567,6 +570,8 @@ static inline int
567ftrace_regex_release(struct inode *inode, struct file *file) { return -ENODEV; } 570ftrace_regex_release(struct inode *inode, struct file *file) { return -ENODEV; }
568#endif /* CONFIG_DYNAMIC_FTRACE */ 571#endif /* CONFIG_DYNAMIC_FTRACE */
569 572
573loff_t ftrace_filter_lseek(struct file *file, loff_t offset, int whence);
574
570/* totally disable ftrace - can not re-enable after this */ 575/* totally disable ftrace - can not re-enable after this */
571void ftrace_kill(void); 576void ftrace_kill(void);
572 577