asoc.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. #undef TRACE_SYSTEM
  2. #define TRACE_SYSTEM asoc
  3. #if !defined(_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
  4. #define _TRACE_ASOC_H
  5. #include <linux/ktime.h>
  6. #include <linux/tracepoint.h>
  7. struct snd_soc_jack;
  8. struct snd_soc_codec;
  9. struct snd_soc_platform;
  10. struct snd_soc_card;
  11. struct snd_soc_dapm_widget;
  12. /*
  13. * Log register events
  14. */
  15. DECLARE_EVENT_CLASS(snd_soc_reg,
  16. TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
  17. unsigned int val),
  18. TP_ARGS(codec, reg, val),
  19. TP_STRUCT__entry(
  20. __string( name, codec->name )
  21. __field( int, id )
  22. __field( unsigned int, reg )
  23. __field( unsigned int, val )
  24. ),
  25. TP_fast_assign(
  26. __assign_str(name, codec->name);
  27. __entry->id = codec->id;
  28. __entry->reg = reg;
  29. __entry->val = val;
  30. ),
  31. TP_printk("codec=%s.%d reg=%x val=%x", __get_str(name),
  32. (int)__entry->id, (unsigned int)__entry->reg,
  33. (unsigned int)__entry->val)
  34. );
  35. DEFINE_EVENT(snd_soc_reg, snd_soc_reg_write,
  36. TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
  37. unsigned int val),
  38. TP_ARGS(codec, reg, val)
  39. );
  40. DEFINE_EVENT(snd_soc_reg, snd_soc_reg_read,
  41. TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
  42. unsigned int val),
  43. TP_ARGS(codec, reg, val)
  44. );
  45. DECLARE_EVENT_CLASS(snd_soc_preg,
  46. TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
  47. unsigned int val),
  48. TP_ARGS(platform, reg, val),
  49. TP_STRUCT__entry(
  50. __string( name, platform->name )
  51. __field( int, id )
  52. __field( unsigned int, reg )
  53. __field( unsigned int, val )
  54. ),
  55. TP_fast_assign(
  56. __assign_str(name, platform->name);
  57. __entry->id = platform->id;
  58. __entry->reg = reg;
  59. __entry->val = val;
  60. ),
  61. TP_printk("platform=%s.%d reg=%x val=%x", __get_str(name),
  62. (int)__entry->id, (unsigned int)__entry->reg,
  63. (unsigned int)__entry->val)
  64. );
  65. DEFINE_EVENT(snd_soc_preg, snd_soc_preg_write,
  66. TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
  67. unsigned int val),
  68. TP_ARGS(platform, reg, val)
  69. );
  70. DEFINE_EVENT(snd_soc_preg, snd_soc_preg_read,
  71. TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
  72. unsigned int val),
  73. TP_ARGS(platform, reg, val)
  74. );
  75. DECLARE_EVENT_CLASS(snd_soc_card,
  76. TP_PROTO(struct snd_soc_card *card, int val),
  77. TP_ARGS(card, val),
  78. TP_STRUCT__entry(
  79. __string( name, card->name )
  80. __field( int, val )
  81. ),
  82. TP_fast_assign(
  83. __assign_str(name, card->name);
  84. __entry->val = val;
  85. ),
  86. TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val)
  87. );
  88. DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start,
  89. TP_PROTO(struct snd_soc_card *card, int val),
  90. TP_ARGS(card, val)
  91. );
  92. DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done,
  93. TP_PROTO(struct snd_soc_card *card, int val),
  94. TP_ARGS(card, val)
  95. );
  96. DECLARE_EVENT_CLASS(snd_soc_dapm_basic,
  97. TP_PROTO(struct snd_soc_card *card),
  98. TP_ARGS(card),
  99. TP_STRUCT__entry(
  100. __string( name, card->name )
  101. ),
  102. TP_fast_assign(
  103. __assign_str(name, card->name);
  104. ),
  105. TP_printk("card=%s", __get_str(name))
  106. );
  107. DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_start,
  108. TP_PROTO(struct snd_soc_card *card),
  109. TP_ARGS(card)
  110. );
  111. DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_done,
  112. TP_PROTO(struct snd_soc_card *card),
  113. TP_ARGS(card)
  114. );
  115. DECLARE_EVENT_CLASS(snd_soc_dapm_widget,
  116. TP_PROTO(struct snd_soc_dapm_widget *w, int val),
  117. TP_ARGS(w, val),
  118. TP_STRUCT__entry(
  119. __string( name, w->name )
  120. __field( int, val )
  121. ),
  122. TP_fast_assign(
  123. __assign_str(name, w->name);
  124. __entry->val = val;
  125. ),
  126. TP_printk("widget=%s val=%d", __get_str(name),
  127. (int)__entry->val)
  128. );
  129. DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power,
  130. TP_PROTO(struct snd_soc_dapm_widget *w, int val),
  131. TP_ARGS(w, val)
  132. );
  133. DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start,
  134. TP_PROTO(struct snd_soc_dapm_widget *w, int val),
  135. TP_ARGS(w, val)
  136. );
  137. DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done,
  138. TP_PROTO(struct snd_soc_dapm_widget *w, int val),
  139. TP_ARGS(w, val)
  140. );
  141. TRACE_EVENT(snd_soc_jack_irq,
  142. TP_PROTO(const char *name),
  143. TP_ARGS(name),
  144. TP_STRUCT__entry(
  145. __string( name, name )
  146. ),
  147. TP_fast_assign(
  148. __assign_str(name, name);
  149. ),
  150. TP_printk("%s", __get_str(name))
  151. );
  152. TRACE_EVENT(snd_soc_jack_report,
  153. TP_PROTO(struct snd_soc_jack *jack, int mask, int val),
  154. TP_ARGS(jack, mask, val),
  155. TP_STRUCT__entry(
  156. __string( name, jack->jack->name )
  157. __field( int, mask )
  158. __field( int, val )
  159. ),
  160. TP_fast_assign(
  161. __assign_str(name, jack->jack->name);
  162. __entry->mask = mask;
  163. __entry->val = val;
  164. ),
  165. TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val,
  166. (int)__entry->mask)
  167. );
  168. TRACE_EVENT(snd_soc_jack_notify,
  169. TP_PROTO(struct snd_soc_jack *jack, int val),
  170. TP_ARGS(jack, val),
  171. TP_STRUCT__entry(
  172. __string( name, jack->jack->name )
  173. __field( int, val )
  174. ),
  175. TP_fast_assign(
  176. __assign_str(name, jack->jack->name);
  177. __entry->val = val;
  178. ),
  179. TP_printk("jack=%s %x", __get_str(name), (int)__entry->val)
  180. );
  181. TRACE_EVENT(snd_soc_cache_sync,
  182. TP_PROTO(struct snd_soc_codec *codec, const char *type,
  183. const char *status),
  184. TP_ARGS(codec, type, status),
  185. TP_STRUCT__entry(
  186. __string( name, codec->name )
  187. __string( status, status )
  188. __string( type, type )
  189. __field( int, id )
  190. ),
  191. TP_fast_assign(
  192. __assign_str(name, codec->name);
  193. __assign_str(status, status);
  194. __assign_str(type, type);
  195. __entry->id = codec->id;
  196. ),
  197. TP_printk("codec=%s.%d type=%s status=%s", __get_str(name),
  198. (int)__entry->id, __get_str(type), __get_str(status))
  199. );
  200. #endif /* _TRACE_ASOC_H */
  201. /* This part must be outside protection */
  202. #include <trace/define_trace.h>