1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM regulator 3 #define TRACE_SYSTEM regulator 4 4 5 #if !defined(_TRACE_REGULATOR_H) || defined(TR 5 #if !defined(_TRACE_REGULATOR_H) || defined(TRACE_HEADER_MULTI_READ) 6 #define _TRACE_REGULATOR_H 6 #define _TRACE_REGULATOR_H 7 7 8 #include <linux/ktime.h> 8 #include <linux/ktime.h> 9 #include <linux/tracepoint.h> 9 #include <linux/tracepoint.h> 10 10 11 /* 11 /* 12 * Events which just log themselves and the re 12 * Events which just log themselves and the regulator name for enable/disable 13 * type tracking. 13 * type tracking. 14 */ 14 */ 15 DECLARE_EVENT_CLASS(regulator_basic, 15 DECLARE_EVENT_CLASS(regulator_basic, 16 16 17 TP_PROTO(const char *name), 17 TP_PROTO(const char *name), 18 18 19 TP_ARGS(name), 19 TP_ARGS(name), 20 20 21 TP_STRUCT__entry( 21 TP_STRUCT__entry( 22 __string( name, name 22 __string( name, name ) 23 ), 23 ), 24 24 25 TP_fast_assign( 25 TP_fast_assign( 26 __assign_str(name); 26 __assign_str(name); 27 ), 27 ), 28 28 29 TP_printk("name=%s", __get_str(name)) 29 TP_printk("name=%s", __get_str(name)) 30 30 31 ); 31 ); 32 32 33 DEFINE_EVENT(regulator_basic, regulator_enable 33 DEFINE_EVENT(regulator_basic, regulator_enable, 34 34 35 TP_PROTO(const char *name), 35 TP_PROTO(const char *name), 36 36 37 TP_ARGS(name) 37 TP_ARGS(name) 38 38 39 ); 39 ); 40 40 41 DEFINE_EVENT(regulator_basic, regulator_enable 41 DEFINE_EVENT(regulator_basic, regulator_enable_delay, 42 42 43 TP_PROTO(const char *name), 43 TP_PROTO(const char *name), 44 44 45 TP_ARGS(name) 45 TP_ARGS(name) 46 46 47 ); 47 ); 48 48 49 DEFINE_EVENT(regulator_basic, regulator_enable 49 DEFINE_EVENT(regulator_basic, regulator_enable_complete, 50 50 51 TP_PROTO(const char *name), 51 TP_PROTO(const char *name), 52 52 53 TP_ARGS(name) 53 TP_ARGS(name) 54 54 55 ); 55 ); 56 56 57 DEFINE_EVENT(regulator_basic, regulator_disabl 57 DEFINE_EVENT(regulator_basic, regulator_disable, 58 58 59 TP_PROTO(const char *name), 59 TP_PROTO(const char *name), 60 60 61 TP_ARGS(name) 61 TP_ARGS(name) 62 62 63 ); 63 ); 64 64 65 DEFINE_EVENT(regulator_basic, regulator_disabl 65 DEFINE_EVENT(regulator_basic, regulator_disable_complete, 66 66 67 TP_PROTO(const char *name), 67 TP_PROTO(const char *name), 68 68 69 TP_ARGS(name) 69 TP_ARGS(name) 70 70 71 ); 71 ); 72 72 73 DEFINE_EVENT(regulator_basic, regulator_bypass 73 DEFINE_EVENT(regulator_basic, regulator_bypass_enable, 74 74 75 TP_PROTO(const char *name), 75 TP_PROTO(const char *name), 76 76 77 TP_ARGS(name) 77 TP_ARGS(name) 78 78 79 ); 79 ); 80 80 81 DEFINE_EVENT(regulator_basic, regulator_bypass 81 DEFINE_EVENT(regulator_basic, regulator_bypass_enable_complete, 82 82 83 TP_PROTO(const char *name), 83 TP_PROTO(const char *name), 84 84 85 TP_ARGS(name) 85 TP_ARGS(name) 86 86 87 ); 87 ); 88 88 89 DEFINE_EVENT(regulator_basic, regulator_bypass 89 DEFINE_EVENT(regulator_basic, regulator_bypass_disable, 90 90 91 TP_PROTO(const char *name), 91 TP_PROTO(const char *name), 92 92 93 TP_ARGS(name) 93 TP_ARGS(name) 94 94 95 ); 95 ); 96 96 97 DEFINE_EVENT(regulator_basic, regulator_bypass 97 DEFINE_EVENT(regulator_basic, regulator_bypass_disable_complete, 98 98 99 TP_PROTO(const char *name), 99 TP_PROTO(const char *name), 100 100 101 TP_ARGS(name) 101 TP_ARGS(name) 102 102 103 ); 103 ); 104 104 105 /* 105 /* 106 * Events that take a range of numerical value 106 * Events that take a range of numerical values, mostly for voltages 107 * and so on. 107 * and so on. 108 */ 108 */ 109 DECLARE_EVENT_CLASS(regulator_range, 109 DECLARE_EVENT_CLASS(regulator_range, 110 110 111 TP_PROTO(const char *name, int min, in 111 TP_PROTO(const char *name, int min, int max), 112 112 113 TP_ARGS(name, min, max), 113 TP_ARGS(name, min, max), 114 114 115 TP_STRUCT__entry( 115 TP_STRUCT__entry( 116 __string( name, 116 __string( name, name ) 117 __field( int, 117 __field( int, min ) 118 __field( int, 118 __field( int, max ) 119 ), 119 ), 120 120 121 TP_fast_assign( 121 TP_fast_assign( 122 __assign_str(name); 122 __assign_str(name); 123 __entry->min = min; 123 __entry->min = min; 124 __entry->max = max; 124 __entry->max = max; 125 ), 125 ), 126 126 127 TP_printk("name=%s (%d-%d)", __get_str 127 TP_printk("name=%s (%d-%d)", __get_str(name), 128 (int)__entry->min, (int)__en 128 (int)__entry->min, (int)__entry->max) 129 ); 129 ); 130 130 131 DEFINE_EVENT(regulator_range, regulator_set_vo 131 DEFINE_EVENT(regulator_range, regulator_set_voltage, 132 132 133 TP_PROTO(const char *name, int min, in 133 TP_PROTO(const char *name, int min, int max), 134 134 135 TP_ARGS(name, min, max) 135 TP_ARGS(name, min, max) 136 136 137 ); 137 ); 138 138 139 139 140 /* 140 /* 141 * Events that take a single value, mostly for 141 * Events that take a single value, mostly for readback and refcounts. 142 */ 142 */ 143 DECLARE_EVENT_CLASS(regulator_value, 143 DECLARE_EVENT_CLASS(regulator_value, 144 144 145 TP_PROTO(const char *name, unsigned in 145 TP_PROTO(const char *name, unsigned int val), 146 146 147 TP_ARGS(name, val), 147 TP_ARGS(name, val), 148 148 149 TP_STRUCT__entry( 149 TP_STRUCT__entry( 150 __string( name, 150 __string( name, name ) 151 __field( unsigned int, 151 __field( unsigned int, val ) 152 ), 152 ), 153 153 154 TP_fast_assign( 154 TP_fast_assign( 155 __assign_str(name); 155 __assign_str(name); 156 __entry->val = val; 156 __entry->val = val; 157 ), 157 ), 158 158 159 TP_printk("name=%s, val=%u", __get_str 159 TP_printk("name=%s, val=%u", __get_str(name), 160 (int)__entry->val) 160 (int)__entry->val) 161 ); 161 ); 162 162 163 DEFINE_EVENT(regulator_value, regulator_set_vo 163 DEFINE_EVENT(regulator_value, regulator_set_voltage_complete, 164 164 165 TP_PROTO(const char *name, unsigned in 165 TP_PROTO(const char *name, unsigned int value), 166 166 167 TP_ARGS(name, value) 167 TP_ARGS(name, value) 168 168 169 ); 169 ); 170 170 171 #endif /* _TRACE_POWER_H */ 171 #endif /* _TRACE_POWER_H */ 172 172 173 /* This part must be outside protection */ 173 /* This part must be outside protection */ 174 #include <trace/define_trace.h> 174 #include <trace/define_trace.h> 175 175
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.