1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _RUNTIME_INSTR_H 3 #define _RUNTIME_INSTR_H 4 5 #include <uapi/asm/runtime_instr.h> 6 7 extern struct runtime_instr_cb runtime_instr_empty_cb; 8 9 static inline void save_ri_cb(struct runtime_instr_cb *cb_prev) 10 { 11 if (cb_prev) 12 store_runtime_instr_cb(cb_prev); 13 } 14 15 static inline void restore_ri_cb(struct runtime_instr_cb *cb_next, 16 struct runtime_instr_cb *cb_prev) 17 { 18 if (cb_next) 19 load_runtime_instr_cb(cb_next); 20 else if (cb_prev) 21 load_runtime_instr_cb(&runtime_instr_empty_cb); 22 } 23 24 struct task_struct; 25 26 void runtime_instr_release(struct task_struct *tsk); 27 28 #endif /* _RUNTIME_INSTR_H */ 29