linux/include/trace/events/clk.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
   4 */
   5#undef TRACE_SYSTEM
   6#define TRACE_SYSTEM clk
   7
   8#if !defined(_TRACE_CLK_H) || defined(TRACE_HEADER_MULTI_READ)
   9#define _TRACE_CLK_H
  10
  11#include <linux/tracepoint.h>
  12
  13struct clk_core;
  14
  15DECLARE_EVENT_CLASS(clk,
  16
  17        TP_PROTO(struct clk_core *core),
  18
  19        TP_ARGS(core),
  20
  21        TP_STRUCT__entry(
  22                __string(        name,           core->name       )
  23        ),
  24
  25        TP_fast_assign(
  26                __assign_str(name, core->name);
  27        ),
  28
  29        TP_printk("%s", __get_str(name))
  30);
  31
  32DEFINE_EVENT(clk, clk_enable,
  33
  34        TP_PROTO(struct clk_core *core),
  35
  36        TP_ARGS(core)
  37);
  38
  39DEFINE_EVENT(clk, clk_enable_complete,
  40
  41        TP_PROTO(struct clk_core *core),
  42
  43        TP_ARGS(core)
  44);
  45
  46DEFINE_EVENT(clk, clk_disable,
  47
  48        TP_PROTO(struct clk_core *core),
  49
  50        TP_ARGS(core)
  51);
  52
  53DEFINE_EVENT(clk, clk_disable_complete,
  54
  55        TP_PROTO(struct clk_core *core),
  56
  57        TP_ARGS(core)
  58);
  59
  60DEFINE_EVENT(clk, clk_prepare,
  61
  62        TP_PROTO(struct clk_core *core),
  63
  64        TP_ARGS(core)
  65);
  66
  67DEFINE_EVENT(clk, clk_prepare_complete,
  68
  69        TP_PROTO(struct clk_core *core),
  70
  71        TP_ARGS(core)
  72);
  73
  74DEFINE_EVENT(clk, clk_unprepare,
  75
  76        TP_PROTO(struct clk_core *core),
  77
  78        TP_ARGS(core)
  79);
  80
  81DEFINE_EVENT(clk, clk_unprepare_complete,
  82
  83        TP_PROTO(struct clk_core *core),
  84
  85        TP_ARGS(core)
  86);
  87
  88DECLARE_EVENT_CLASS(clk_rate,
  89
  90        TP_PROTO(struct clk_core *core, unsigned long rate),
  91
  92        TP_ARGS(core, rate),
  93
  94        TP_STRUCT__entry(
  95                __string(        name,           core->name                )
  96                __field(unsigned long,           rate                      )
  97        ),
  98
  99        TP_fast_assign(
 100                __assign_str(name, core->name);
 101                __entry->rate = rate;
 102        ),
 103
 104        TP_printk("%s %lu", __get_str(name), (unsigned long)__entry->rate)
 105);
 106
 107DEFINE_EVENT(clk_rate, clk_set_rate,
 108
 109        TP_PROTO(struct clk_core *core, unsigned long rate),
 110
 111        TP_ARGS(core, rate)
 112);
 113
 114DEFINE_EVENT(clk_rate, clk_set_rate_complete,
 115
 116        TP_PROTO(struct clk_core *core, unsigned long rate),
 117
 118        TP_ARGS(core, rate)
 119);
 120
 121DECLARE_EVENT_CLASS(clk_parent,
 122
 123        TP_PROTO(struct clk_core *core, struct clk_core *parent),
 124
 125        TP_ARGS(core, parent),
 126
 127        TP_STRUCT__entry(
 128                __string(        name,           core->name                )
 129                __string(        pname, parent ? parent->name : "none"     )
 130        ),
 131
 132        TP_fast_assign(
 133                __assign_str(name, core->name);
 134                __assign_str(pname, parent ? parent->name : "none");
 135        ),
 136
 137        TP_printk("%s %s", __get_str(name), __get_str(pname))
 138);
 139
 140DEFINE_EVENT(clk_parent, clk_set_parent,
 141
 142        TP_PROTO(struct clk_core *core, struct clk_core *parent),
 143
 144        TP_ARGS(core, parent)
 145);
 146
 147DEFINE_EVENT(clk_parent, clk_set_parent_complete,
 148
 149        TP_PROTO(struct clk_core *core, struct clk_core *parent),
 150
 151        TP_ARGS(core, parent)
 152);
 153
 154DECLARE_EVENT_CLASS(clk_phase,
 155
 156        TP_PROTO(struct clk_core *core, int phase),
 157
 158        TP_ARGS(core, phase),
 159
 160        TP_STRUCT__entry(
 161                __string(        name,           core->name                )
 162                __field(          int,           phase                     )
 163        ),
 164
 165        TP_fast_assign(
 166                __assign_str(name, core->name);
 167                __entry->phase = phase;
 168        ),
 169
 170        TP_printk("%s %d", __get_str(name), (int)__entry->phase)
 171);
 172
 173DEFINE_EVENT(clk_phase, clk_set_phase,
 174
 175        TP_PROTO(struct clk_core *core, int phase),
 176
 177        TP_ARGS(core, phase)
 178);
 179
 180DEFINE_EVENT(clk_phase, clk_set_phase_complete,
 181
 182        TP_PROTO(struct clk_core *core, int phase),
 183
 184        TP_ARGS(core, phase)
 185);
 186
 187DECLARE_EVENT_CLASS(clk_duty_cycle,
 188
 189        TP_PROTO(struct clk_core *core, struct clk_duty *duty),
 190
 191        TP_ARGS(core, duty),
 192
 193        TP_STRUCT__entry(
 194                __string(        name,           core->name              )
 195                __field( unsigned int,           num                     )
 196                __field( unsigned int,           den                     )
 197        ),
 198
 199        TP_fast_assign(
 200                __assign_str(name, core->name);
 201                __entry->num = duty->num;
 202                __entry->den = duty->den;
 203        ),
 204
 205        TP_printk("%s %u/%u", __get_str(name), (unsigned int)__entry->num,
 206                  (unsigned int)__entry->den)
 207);
 208
 209DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle,
 210
 211        TP_PROTO(struct clk_core *core, struct clk_duty *duty),
 212
 213        TP_ARGS(core, duty)
 214);
 215
 216DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle_complete,
 217
 218        TP_PROTO(struct clk_core *core, struct clk_duty *duty),
 219
 220        TP_ARGS(core, duty)
 221);
 222
 223#endif /* _TRACE_CLK_H */
 224
 225/* This part must be outside protection */
 226#include <trace/define_trace.h>
 227