1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include <linux/mutex.h> 3 4 struct rv_interface { 5 struct dentry *root_dir; 6 struct dentry *monitors_dir; 7 }; 8 9 #include "../trace.h" 10 #include <linux/tracefs.h> 11 #include <linux/rv.h> 12 13 #define RV_MODE_WRITE TRACE_MODE_WRITE 14 #define RV_MODE_READ TRACE_MODE_READ 15 16 #define rv_create_dir tracefs_create_dir 17 #define rv_create_file tracefs_create_file 18 #define rv_remove tracefs_remove 19 20 #define MAX_RV_MONITOR_NAME_SIZE 32 21 #define MAX_RV_REACTOR_NAME_SIZE 32 22 23 extern struct mutex rv_interface_lock; 24 extern struct list_head rv_monitors_list; 25 26 struct dentry *get_monitors_root(void); 27 int rv_disable_monitor(struct rv_monitor *mon); 28 int rv_enable_monitor(struct rv_monitor *mon); 29 bool rv_is_container_monitor(struct rv_monitor *mon); 30 bool rv_is_nested_monitor(struct rv_monitor *mon); 31 32 #ifdef CONFIG_RV_REACTORS 33 int reactor_populate_monitor(struct rv_monitor *mon); 34 int init_rv_reactors(struct dentry *root_dir); 35 #else reactor_populate_monitor(struct rv_monitor * mon)36static inline int reactor_populate_monitor(struct rv_monitor *mon) 37 { 38 return 0; 39 } 40 init_rv_reactors(struct dentry * root_dir)41static inline int init_rv_reactors(struct dentry *root_dir) 42 { 43 return 0; 44 } 45 #endif 46