1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM hwmon
4 
5 #if !defined(_TRACE_HWMON_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_HWMON_H
7 
8 #include <linux/tracepoint.h>
9 
10 DECLARE_EVENT_CLASS(hwmon_attr_class,
11 
12 	TP_PROTO(int index, const char *attr_name, long val),
13 
14 	TP_ARGS(index, attr_name, val),
15 
16 	TP_STRUCT__entry(
17 		__field(int, index)
18 		__string(attr_name, attr_name)
19 		__field(long, val)
20 	),
21 
22 	TP_fast_assign(
23 		__entry->index = index;
24 		__assign_str(attr_name, attr_name);
25 		__entry->val = val;
26 	),
27 
28 	TP_printk("index=%d, attr_name=%s, val=%ld",
29 		  __entry->index,  __get_str(attr_name), __entry->val)
30 );
31 
32 DEFINE_EVENT(hwmon_attr_class, hwmon_attr_show,
33 
34 	TP_PROTO(int index, const char *attr_name, long val),
35 
36 	TP_ARGS(index, attr_name, val)
37 );
38 
39 DEFINE_EVENT(hwmon_attr_class, hwmon_attr_store,
40 
41 	TP_PROTO(int index, const char *attr_name, long val),
42 
43 	TP_ARGS(index, attr_name, val)
44 );
45 
46 TRACE_EVENT(hwmon_attr_show_string,
47 
48 	TP_PROTO(int index, const char *attr_name, const char *s),
49 
50 	TP_ARGS(index, attr_name, s),
51 
52 	TP_STRUCT__entry(
53 		__field(int, index)
54 		__string(attr_name, attr_name)
55 		__string(label, s)
56 	),
57 
58 	TP_fast_assign(
59 		__entry->index = index;
60 		__assign_str(attr_name, attr_name);
61 		__assign_str(label, s);
62 	),
63 
64 	TP_printk("index=%d, attr_name=%s, val=%s",
65 		  __entry->index, __get_str(attr_name), __get_str(label))
66 );
67 
68 #endif /* _TRACE_HWMON_H */
69 
70 /* This part must be outside protection */
71 #include <trace/define_trace.h>
72