brintos

brintos / linux-shallow public Read only

0
0
Text · 2.8 KiB · c58481a Raw
175 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM regulator4 5#if !defined(_TRACE_REGULATOR_H) || defined(TRACE_HEADER_MULTI_READ)6#define _TRACE_REGULATOR_H7 8#include <linux/ktime.h>9#include <linux/tracepoint.h>10 11/*12 * Events which just log themselves and the regulator name for enable/disable13 * 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);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 voltages107 * 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);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);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>175