13d0407baSopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 23d0407baSopenharmony_ci#undef TRACE_SYSTEM 33d0407baSopenharmony_ci#define TRACE_SYSTEM gic_v3 43d0407baSopenharmony_ci#define TRACE_INCLUDE_PATH trace/hooks 53d0407baSopenharmony_ci#if !defined(_TRACE_HOOK_GIC_V3_H) || defined(TRACE_HEADER_MULTI_READ) 63d0407baSopenharmony_ci#define _TRACE_HOOK_GIC_V3_H 73d0407baSopenharmony_ci#include <linux/tracepoint.h> 83d0407baSopenharmony_ci#include <trace/hooks/vendor_hooks.h> 93d0407baSopenharmony_ci/* 103d0407baSopenharmony_ci * Following tracepoints are not exported in tracefs and provide a 113d0407baSopenharmony_ci * mechanism for vendor modules to hook and extend functionality 123d0407baSopenharmony_ci */ 133d0407baSopenharmony_cistruct irq_data; 143d0407baSopenharmony_cistruct cpumask; 153d0407baSopenharmony_ciDECLARE_HOOK(android_vh_gic_v3_affinity_init, 163d0407baSopenharmony_ci TP_PROTO(int irq, u32 offset, u64 *affinity), 173d0407baSopenharmony_ci TP_ARGS(irq, offset, affinity)); 183d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_gic_v3_set_affinity, 193d0407baSopenharmony_ci TP_PROTO(struct irq_data *d, const struct cpumask *mask_val, 203d0407baSopenharmony_ci u64 *affinity, bool force, void __iomem *base), 213d0407baSopenharmony_ci TP_ARGS(d, mask_val, affinity, force, base), 223d0407baSopenharmony_ci 1); 233d0407baSopenharmony_ci 243d0407baSopenharmony_ci/* macro versions of hooks are no longer required */ 253d0407baSopenharmony_ci 263d0407baSopenharmony_ci#endif /* _TRACE_HOOK_GIC_V3_H */ 273d0407baSopenharmony_ci/* This part must be outside protection */ 283d0407baSopenharmony_ci#include <trace/define_trace.h> 29