linux/include/trace/events/regulator.h
<<
>>
Prefs
   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>
 175