debug.c 934 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include <linux/net.h>
  2. #include "types.h"
  3. #include "debug.h"
  4. #include "brcms_trace_events.h"
  5. #define __brcms_fn(fn) \
  6. void __brcms_ ##fn(struct device *dev, const char *fmt, ...) \
  7. { \
  8. struct va_format vaf = { \
  9. .fmt = fmt, \
  10. }; \
  11. va_list args; \
  12. \
  13. va_start(args, fmt); \
  14. vaf.va = &args; \
  15. dev_ ##fn(dev, "%pV", &vaf); \
  16. trace_brcms_ ##fn(&vaf); \
  17. va_end(args); \
  18. }
  19. __brcms_fn(info)
  20. __brcms_fn(warn)
  21. __brcms_fn(err)
  22. __brcms_fn(crit)
  23. #if defined(CONFIG_BRCMDBG) || defined(CONFIG_BRCM_TRACING)
  24. void __brcms_dbg(struct device *dev, u32 level, const char *func,
  25. const char *fmt, ...)
  26. {
  27. struct va_format vaf = {
  28. .fmt = fmt,
  29. };
  30. va_list args;
  31. va_start(args, fmt);
  32. vaf.va = &args;
  33. #ifdef CONFIG_BRCMDBG
  34. if ((brcm_msg_level & level) && net_ratelimit())
  35. dev_err(dev, "%s %pV", func, &vaf);
  36. #endif
  37. trace_brcms_dbg(level, func, &vaf);
  38. va_end(args);
  39. }
  40. #endif