1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM v4l2core
4 
5 #define TRACE_INCLUDE_PATH trace/hooks
6 
7 #if !defined(_TRACE_HOOK_V4L2CORE_H) || defined(TRACE_HEADER_MULTI_READ)
8 #define _TRACE_HOOK_V4L2CORE_H
9 
10 #include <linux/tracepoint.h>
11 #include <trace/hooks/vendor_hooks.h>
12 
13 struct v4l2_format;
14 DECLARE_HOOK(android_vh_clear_reserved_fmt_fields,
15 	TP_PROTO(struct v4l2_format *fmt, int *ret),
16 	TP_ARGS(fmt, ret));
17 
18 struct v4l2_fmtdesc;
19 DECLARE_HOOK(android_vh_fill_ext_fmtdesc,
20 	TP_PROTO(struct v4l2_fmtdesc *fmtd, const char **descr),
21 	TP_ARGS(fmtd, descr));
22 
23 DECLARE_HOOK(android_vh_clear_mask_adjust,
24 	TP_PROTO(unsigned int ctrl, int *n),
25 	TP_ARGS(ctrl, n));
26 
27 struct v4l2_subdev;
28 struct v4l2_subdev_pad_config;
29 struct v4l2_subdev_selection;
30 DECLARE_HOOK(android_vh_v4l2subdev_set_selection,
31 	TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *pad,
32 	struct v4l2_subdev_selection *sel, int *ret),
33 	TP_ARGS(sd, pad, sel, ret));
34 
35 struct v4l2_subdev_format;
36 DECLARE_HOOK(android_vh_v4l2subdev_set_fmt,
37 	TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *pad,
38 	struct v4l2_subdev_format *format, int *ret),
39 	TP_ARGS(sd, pad, format, ret));
40 
41 struct v4l2_subdev_frame_interval;
42 DECLARE_HOOK(android_vh_v4l2subdev_set_frame_interval,
43 	TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_frame_interval *fi,
44 	int *ret),
45 	TP_ARGS(sd, fi, ret));
46 
47 DECLARE_RESTRICTED_HOOK(android_rvh_v4l2subdev_set_selection,
48 	TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *pad,
49 	struct v4l2_subdev_selection *sel, int *ret),
50 	TP_ARGS(sd, pad, sel, ret), 1);
51 
52 DECLARE_RESTRICTED_HOOK(android_rvh_v4l2subdev_set_fmt,
53 	TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *pad,
54 	struct v4l2_subdev_format *format, int *ret),
55 	TP_ARGS(sd, pad, format, ret), 1);
56 
57 DECLARE_RESTRICTED_HOOK(android_rvh_v4l2subdev_set_frame_interval,
58 	TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_frame_interval *fi,
59 	int *ret),
60 	TP_ARGS(sd, fi, ret), 1);
61 
62 #endif /* _TRACE_HOOK_V4L2CORE_H */
63 /* This part must be outside protection */
64 #include <trace/define_trace.h>
65 
66