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