To avoid changing the visibiliy of data types when including hook definition headers remove header file inclusions from the hook definition header files. Instead, the hook definition headers should just have forward declarations that don't require full definition. To provide full definitions of the types for the KMI, the headers that define the types should be included by the source file that instantiates the hooks - normally vendor_hooks.c. Bug: 233047575 Signed-off-by: Todd Kjos <tkjos@google.com> Change-Id: Iaaa1a6f45a356569c04ad2fea0b1514e0454f041
31 lines
872 B
C
31 lines
872 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM iommu
|
|
|
|
#define TRACE_INCLUDE_PATH trace/hooks
|
|
|
|
#if !defined(_TRACE_HOOK_IOMMU_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _TRACE_HOOK_IOMMU_H
|
|
|
|
#include <trace/hooks/vendor_hooks.h>
|
|
|
|
struct iova_domain;
|
|
|
|
DECLARE_RESTRICTED_HOOK(android_rvh_iommu_setup_dma_ops,
|
|
TP_PROTO(struct device *dev, u64 dma_base, u64 dma_limit),
|
|
TP_ARGS(dev, dma_base, dma_limit), 1);
|
|
|
|
|
|
DECLARE_HOOK(android_vh_iommu_iovad_alloc_iova,
|
|
TP_PROTO(struct device *dev, struct iova_domain *iovad, dma_addr_t iova, size_t size),
|
|
TP_ARGS(dev, iovad, iova, size));
|
|
|
|
DECLARE_HOOK(android_vh_iommu_iovad_free_iova,
|
|
TP_PROTO(struct iova_domain *iovad, dma_addr_t iova, size_t size),
|
|
TP_ARGS(iovad, iova, size));
|
|
|
|
#endif /* _TRACE_HOOK_IOMMU_H */
|
|
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|