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