pwm.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. #undef TRACE_SYSTEM
  3. #define TRACE_SYSTEM pwm
  4. #if !defined(_TRACE_PWM_H) || defined(TRACE_HEADER_MULTI_READ)
  5. #define _TRACE_PWM_H
  6. #include <linux/pwm.h>
  7. #include <linux/tracepoint.h>
  8. DECLARE_EVENT_CLASS(pwm,
  9. TP_PROTO(struct pwm_device *pwm, const struct pwm_state *state),
  10. TP_ARGS(pwm, state),
  11. TP_STRUCT__entry(
  12. __field(struct pwm_device *, pwm)
  13. __field(u64, period)
  14. __field(u64, duty_cycle)
  15. __field(enum pwm_polarity, polarity)
  16. __field(bool, enabled)
  17. ),
  18. TP_fast_assign(
  19. __entry->pwm = pwm;
  20. __entry->period = state->period;
  21. __entry->duty_cycle = state->duty_cycle;
  22. __entry->polarity = state->polarity;
  23. __entry->enabled = state->enabled;
  24. ),
  25. TP_printk("%p: period=%llu duty_cycle=%llu polarity=%d enabled=%d",
  26. __entry->pwm, __entry->period, __entry->duty_cycle,
  27. __entry->polarity, __entry->enabled)
  28. );
  29. DEFINE_EVENT(pwm, pwm_apply,
  30. TP_PROTO(struct pwm_device *pwm, const struct pwm_state *state),
  31. TP_ARGS(pwm, state)
  32. );
  33. DEFINE_EVENT(pwm, pwm_get,
  34. TP_PROTO(struct pwm_device *pwm, const struct pwm_state *state),
  35. TP_ARGS(pwm, state)
  36. );
  37. #endif /* _TRACE_PWM_H */
  38. /* This part must be outside protection */
  39. #include <trace/define_trace.h>