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