root/include/trace/events/regulator.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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  */
  15 DECLARE_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 
  33 DEFINE_EVENT(regulator_basic, regulator_enable,
  34 
  35         TP_PROTO(const char *name),
  36 
  37         TP_ARGS(name)
  38 
  39 );
  40 
  41 DEFINE_EVENT(regulator_basic, regulator_enable_delay,
  42 
  43         TP_PROTO(const char *name),
  44 
  45         TP_ARGS(name)
  46 
  47 );
  48 
  49 DEFINE_EVENT(regulator_basic, regulator_enable_complete,
  50 
  51         TP_PROTO(const char *name),
  52 
  53         TP_ARGS(name)
  54 
  55 );
  56 
  57 DEFINE_EVENT(regulator_basic, regulator_disable,
  58 
  59         TP_PROTO(const char *name),
  60 
  61         TP_ARGS(name)
  62 
  63 );
  64 
  65 DEFINE_EVENT(regulator_basic, regulator_disable_complete,
  66 
  67         TP_PROTO(const char *name),
  68 
  69         TP_ARGS(name)
  70 
  71 );
  72 
  73 /*
  74  * Events that take a range of numerical values, mostly for voltages
  75  * and so on.
  76  */
  77 DECLARE_EVENT_CLASS(regulator_range,
  78 
  79         TP_PROTO(const char *name, int min, int max),
  80 
  81         TP_ARGS(name, min, max),
  82 
  83         TP_STRUCT__entry(
  84                 __string(       name,           name            )
  85                 __field(        int,            min             )
  86                 __field(        int,            max             )
  87         ),
  88 
  89         TP_fast_assign(
  90                 __assign_str(name, name);
  91                 __entry->min  = min;
  92                 __entry->max  = max;
  93         ),
  94 
  95         TP_printk("name=%s (%d-%d)", __get_str(name),
  96                   (int)__entry->min, (int)__entry->max)
  97 );
  98 
  99 DEFINE_EVENT(regulator_range, regulator_set_voltage,
 100 
 101         TP_PROTO(const char *name, int min, int max),
 102 
 103         TP_ARGS(name, min, max)
 104 
 105 );
 106 
 107 
 108 /*
 109  * Events that take a single value, mostly for readback and refcounts.
 110  */
 111 DECLARE_EVENT_CLASS(regulator_value,
 112 
 113         TP_PROTO(const char *name, unsigned int val),
 114 
 115         TP_ARGS(name, val),
 116 
 117         TP_STRUCT__entry(
 118                 __string(       name,           name            )
 119                 __field(        unsigned int,   val             )
 120         ),
 121 
 122         TP_fast_assign(
 123                 __assign_str(name, name);
 124                 __entry->val  = val;
 125         ),
 126 
 127         TP_printk("name=%s, val=%u", __get_str(name),
 128                   (int)__entry->val)
 129 );
 130 
 131 DEFINE_EVENT(regulator_value, regulator_set_voltage_complete,
 132 
 133         TP_PROTO(const char *name, unsigned int value),
 134 
 135         TP_ARGS(name, value)
 136 
 137 );
 138 
 139 #endif /* _TRACE_POWER_H */
 140 
 141 /* This part must be outside protection */
 142 #include <trace/define_trace.h>

/* [<][>][^][v][top][bottom][index][help] */