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
  73/*
  74 * Events that take a range of numerical values, mostly for voltages
  75 * and so on.
  76 */
  77DECLARE_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
  99DEFINE_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 */
 111DECLARE_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
 131DEFINE_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>
 143