1 #undef TRACE_SYSTEM 2 #define TRACE_SYSTEM asoc 3 4 #if !defined(_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ) 5 #define _TRACE_ASOC_H 6 7 #include <linux/ktime.h> 8 #include <linux/tracepoint.h> 9 10 struct snd_soc_jack; 11 struct snd_soc_codec; 12 struct snd_soc_platform; 13 struct snd_soc_card; 14 struct snd_soc_dapm_widget; 15 16 /* 17 * Log register events 18 */ 19 DECLARE_EVENT_CLASS(snd_soc_reg, 20 21 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg, 22 unsigned int val), 23 24 TP_ARGS(codec, reg, val), 25 26 TP_STRUCT__entry( 27 __string( name, codec->name ) 28 __field( int, id ) 29 __field( unsigned int, reg ) 30 __field( unsigned int, val ) 31 ), 32 33 TP_fast_assign( 34 __assign_str(name, codec->name); 35 __entry->id = codec->id; 36 __entry->reg = reg; 37 __entry->val = val; 38 ), 39 40 TP_printk("codec=%s.%d reg=%x val=%x", __get_str(name), 41 (int)__entry->id, (unsigned int)__entry->reg, 42 (unsigned int)__entry->val) 43 ); 44 45 DEFINE_EVENT(snd_soc_reg, snd_soc_reg_write, 46 47 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg, 48 unsigned int val), 49 50 TP_ARGS(codec, reg, val) 51 52 ); 53 54 DEFINE_EVENT(snd_soc_reg, snd_soc_reg_read, 55 56 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg, 57 unsigned int val), 58 59 TP_ARGS(codec, reg, val) 60 61 ); 62 63 DECLARE_EVENT_CLASS(snd_soc_preg, 64 65 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg, 66 unsigned int val), 67 68 TP_ARGS(platform, reg, val), 69 70 TP_STRUCT__entry( 71 __string( name, platform->name ) 72 __field( int, id ) 73 __field( unsigned int, reg ) 74 __field( unsigned int, val ) 75 ), 76 77 TP_fast_assign( 78 __assign_str(name, platform->name); 79 __entry->id = platform->id; 80 __entry->reg = reg; 81 __entry->val = val; 82 ), 83 84 TP_printk("platform=%s.%d reg=%x val=%x", __get_str(name), 85 (int)__entry->id, (unsigned int)__entry->reg, 86 (unsigned int)__entry->val) 87 ); 88 89 DEFINE_EVENT(snd_soc_preg, snd_soc_preg_write, 90 91 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg, 92 unsigned int val), 93 94 TP_ARGS(platform, reg, val) 95 96 ); 97 98 DEFINE_EVENT(snd_soc_preg, snd_soc_preg_read, 99 100 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg, 101 unsigned int val), 102 103 TP_ARGS(platform, reg, val) 104 105 ); 106 107 DECLARE_EVENT_CLASS(snd_soc_card, 108 109 TP_PROTO(struct snd_soc_card *card, int val), 110 111 TP_ARGS(card, val), 112 113 TP_STRUCT__entry( 114 __string( name, card->name ) 115 __field( int, val ) 116 ), 117 118 TP_fast_assign( 119 __assign_str(name, card->name); 120 __entry->val = val; 121 ), 122 123 TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val) 124 ); 125 126 DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start, 127 128 TP_PROTO(struct snd_soc_card *card, int val), 129 130 TP_ARGS(card, val) 131 132 ); 133 134 DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done, 135 136 TP_PROTO(struct snd_soc_card *card, int val), 137 138 TP_ARGS(card, val) 139 140 ); 141 142 DECLARE_EVENT_CLASS(snd_soc_dapm_basic, 143 144 TP_PROTO(struct snd_soc_card *card), 145 146 TP_ARGS(card), 147 148 TP_STRUCT__entry( 149 __string( name, card->name ) 150 ), 151 152 TP_fast_assign( 153 __assign_str(name, card->name); 154 ), 155 156 TP_printk("card=%s", __get_str(name)) 157 ); 158 159 DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_start, 160 161 TP_PROTO(struct snd_soc_card *card), 162 163 TP_ARGS(card) 164 165 ); 166 167 DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_done, 168 169 TP_PROTO(struct snd_soc_card *card), 170 171 TP_ARGS(card) 172 173 ); 174 175 DECLARE_EVENT_CLASS(snd_soc_dapm_widget, 176 177 TP_PROTO(struct snd_soc_dapm_widget *w, int val), 178 179 TP_ARGS(w, val), 180 181 TP_STRUCT__entry( 182 __string( name, w->name ) 183 __field( int, val ) 184 ), 185 186 TP_fast_assign( 187 __assign_str(name, w->name); 188 __entry->val = val; 189 ), 190 191 TP_printk("widget=%s val=%d", __get_str(name), 192 (int)__entry->val) 193 ); 194 195 DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power, 196 197 TP_PROTO(struct snd_soc_dapm_widget *w, int val), 198 199 TP_ARGS(w, val) 200 201 ); 202 203 DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start, 204 205 TP_PROTO(struct snd_soc_dapm_widget *w, int val), 206 207 TP_ARGS(w, val) 208 209 ); 210 211 DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done, 212 213 TP_PROTO(struct snd_soc_dapm_widget *w, int val), 214 215 TP_ARGS(w, val) 216 217 ); 218 219 TRACE_EVENT(snd_soc_jack_irq, 220 221 TP_PROTO(const char *name), 222 223 TP_ARGS(name), 224 225 TP_STRUCT__entry( 226 __string( name, name ) 227 ), 228 229 TP_fast_assign( 230 __assign_str(name, name); 231 ), 232 233 TP_printk("%s", __get_str(name)) 234 ); 235 236 TRACE_EVENT(snd_soc_jack_report, 237 238 TP_PROTO(struct snd_soc_jack *jack, int mask, int val), 239 240 TP_ARGS(jack, mask, val), 241 242 TP_STRUCT__entry( 243 __string( name, jack->jack->name ) 244 __field( int, mask ) 245 __field( int, val ) 246 ), 247 248 TP_fast_assign( 249 __assign_str(name, jack->jack->name); 250 __entry->mask = mask; 251 __entry->val = val; 252 ), 253 254 TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val, 255 (int)__entry->mask) 256 ); 257 258 TRACE_EVENT(snd_soc_jack_notify, 259 260 TP_PROTO(struct snd_soc_jack *jack, int val), 261 262 TP_ARGS(jack, val), 263 264 TP_STRUCT__entry( 265 __string( name, jack->jack->name ) 266 __field( int, val ) 267 ), 268 269 TP_fast_assign( 270 __assign_str(name, jack->jack->name); 271 __entry->val = val; 272 ), 273 274 TP_printk("jack=%s %x", __get_str(name), (int)__entry->val) 275 ); 276 277 TRACE_EVENT(snd_soc_cache_sync, 278 279 TP_PROTO(struct snd_soc_codec *codec, const char *type, 280 const char *status), 281 282 TP_ARGS(codec, type, status), 283 284 TP_STRUCT__entry( 285 __string( name, codec->name ) 286 __string( status, status ) 287 __string( type, type ) 288 __field( int, id ) 289 ), 290 291 TP_fast_assign( 292 __assign_str(name, codec->name); 293 __assign_str(status, status); 294 __assign_str(type, type); 295 __entry->id = codec->id; 296 ), 297 298 TP_printk("codec=%s.%d type=%s status=%s", __get_str(name), 299 (int)__entry->id, __get_str(type), __get_str(status)) 300 ); 301 302 #endif /* _TRACE_ASOC_H */ 303 304 /* This part must be outside protection */ 305 #include <trace/define_trace.h> 306