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