1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM cpufreq 4 5 #define TRACE_INCLUDE_PATH trace/hooks 6 7 #if !defined(_TRACE_HOOK_CPUFREQ_H) || defined(TRACE_HEADER_MULTI_READ) 8 #define _TRACE_HOOK_CPUFREQ_H 9 10 #include <linux/cpufreq.h> 11 #include <linux/tracepoint.h> 12 #include <trace/hooks/vendor_hooks.h> 13 14 DECLARE_RESTRICTED_HOOK(android_rvh_show_max_freq, 15 TP_PROTO(struct cpufreq_policy *policy, unsigned int *max_freq), 16 TP_ARGS(policy, max_freq), 1); 17 18 DECLARE_HOOK(android_vh_show_max_freq, 19 TP_PROTO(struct cpufreq_policy *policy, unsigned int *max_freq), 20 TP_ARGS(policy, max_freq)); 21 22 DECLARE_HOOK(android_vh_freq_table_limits, 23 TP_PROTO(struct cpufreq_policy *policy, unsigned int min_freq, 24 unsigned int max_freq), 25 TP_ARGS(policy, min_freq, max_freq)); 26 27 DECLARE_HOOK(android_vh_cpufreq_acct_update_power, 28 TP_PROTO(u64 cputime, struct task_struct *p, unsigned int state), 29 TP_ARGS(cputime, p, state)); 30 31 DECLARE_RESTRICTED_HOOK(android_rvh_cpufreq_transition, 32 TP_PROTO(struct cpufreq_policy *policy), 33 TP_ARGS(policy), 1); 34 35 DECLARE_HOOK(android_vh_cpufreq_resolve_freq, 36 TP_PROTO(struct cpufreq_policy *policy, unsigned int target_freq, 37 unsigned int old_target_freq), 38 TP_ARGS(policy, target_freq, old_target_freq)); 39 40 DECLARE_HOOK(android_vh_cpufreq_fast_switch, 41 TP_PROTO(struct cpufreq_policy *policy, unsigned int target_freq, 42 unsigned int old_target_freq), 43 TP_ARGS(policy, target_freq, old_target_freq)); 44 45 DECLARE_HOOK(android_vh_cpufreq_target, 46 TP_PROTO(struct cpufreq_policy *policy, unsigned int target_freq, 47 unsigned int old_target_freq), 48 TP_ARGS(policy, target_freq, old_target_freq)); 49 /* macro versions of hooks are no longer required */ 50 51 #endif /* _TRACE_HOOK_CPUFREQ_H */ 52 /* This part must be outside protection */ 53 #include <trace/define_trace.h> 54