1 #undef TRACE_SYSTEM 2 #define TRACE_SYSTEM regulator 3 4 #if !defined(_TRACE_REGULATOR_H) || defined(TRACE_HEADER_MULTI_READ) 5 #define _TRACE_REGULATOR_H 6 7 #include <linux/ktime.h> 8 #include <linux/tracepoint.h> 9 10 /* 11 * Events which just log themselves and the regulator name for enable/disable 12 * type tracking. 13 */ 14 DECLARE_EVENT_CLASS(regulator_basic, 15 16 TP_PROTO(const char *name), 17 18 TP_ARGS(name), 19 20 TP_STRUCT__entry( 21 __string( name, name ) 22 ), 23 24 TP_fast_assign( 25 __assign_str(name, name); 26 ), 27 28 TP_printk("name=%s", __get_str(name)) 29 30 ); 31 32 DEFINE_EVENT(regulator_basic, regulator_enable, 33 34 TP_PROTO(const char *name), 35 36 TP_ARGS(name) 37 38 ); 39 40 DEFINE_EVENT(regulator_basic, regulator_enable_delay, 41 42 TP_PROTO(const char *name), 43 44 TP_ARGS(name) 45 46 ); 47 48 DEFINE_EVENT(regulator_basic, regulator_enable_complete, 49 50 TP_PROTO(const char *name), 51 52 TP_ARGS(name) 53 54 ); 55 56 DEFINE_EVENT(regulator_basic, regulator_disable, 57 58 TP_PROTO(const char *name), 59 60 TP_ARGS(name) 61 62 ); 63 64 DEFINE_EVENT(regulator_basic, regulator_disable_complete, 65 66 TP_PROTO(const char *name), 67 68 TP_ARGS(name) 69 70 ); 71 72 /* 73 * Events that take a range of numerical values, mostly for voltages 74 * and so on. 75 */ 76 DECLARE_EVENT_CLASS(regulator_range, 77 78 TP_PROTO(const char *name, int min, int max), 79 80 TP_ARGS(name, min, max), 81 82 TP_STRUCT__entry( 83 __string( name, name ) 84 __field( int, min ) 85 __field( int, max ) 86 ), 87 88 TP_fast_assign( 89 __assign_str(name, name); 90 __entry->min = min; 91 __entry->max = max; 92 ), 93 94 TP_printk("name=%s (%d-%d)", __get_str(name), 95 (int)__entry->min, (int)__entry->max) 96 ); 97 98 DEFINE_EVENT(regulator_range, regulator_set_voltage, 99 100 TP_PROTO(const char *name, int min, int max), 101 102 TP_ARGS(name, min, max) 103 104 ); 105 106 107 /* 108 * Events that take a single value, mostly for readback and refcounts. 109 */ 110 DECLARE_EVENT_CLASS(regulator_value, 111 112 TP_PROTO(const char *name, unsigned int val), 113 114 TP_ARGS(name, val), 115 116 TP_STRUCT__entry( 117 __string( name, name ) 118 __field( unsigned int, val ) 119 ), 120 121 TP_fast_assign( 122 __assign_str(name, name); 123 __entry->val = val; 124 ), 125 126 TP_printk("name=%s, val=%u", __get_str(name), 127 (int)__entry->val) 128 ); 129 130 DEFINE_EVENT(regulator_value, regulator_set_voltage_complete, 131 132 TP_PROTO(const char *name, unsigned int value), 133 134 TP_ARGS(name, value) 135 136 ); 137 138 #endif /* _TRACE_POWER_H */ 139 140 /* This part must be outside protection */ 141 #include <trace/define_trace.h> 142