cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

regulator.h (2900B)


      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>