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 */ 14DECLARE_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 32DEFINE_EVENT(regulator_basic, regulator_enable, 33 34 TP_PROTO(const char *name), 35 36 TP_ARGS(name) 37 38); 39 40DEFINE_EVENT(regulator_basic, regulator_enable_delay, 41 42 TP_PROTO(const char *name), 43 44 TP_ARGS(name) 45 46); 47 48DEFINE_EVENT(regulator_basic, regulator_enable_complete, 49 50 TP_PROTO(const char *name), 51 52 TP_ARGS(name) 53 54); 55 56DEFINE_EVENT(regulator_basic, regulator_disable, 57 58 TP_PROTO(const char *name), 59 60 TP_ARGS(name) 61 62); 63 64DEFINE_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 */ 76DECLARE_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 98DEFINE_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 */ 110DECLARE_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 130DEFINE_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