deb_defs.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /**
  3. * This header file contains global constant/enum definitions,
  4. * global variable declaration.
  5. */
  6. #ifndef _LBS_DEB_DEFS_H_
  7. #define _LBS_DEB_DEFS_H_
  8. #ifndef DRV_NAME
  9. #define DRV_NAME "libertas_tf"
  10. #endif
  11. #include <linux/spinlock.h>
  12. #ifdef CONFIG_LIBERTAS_THINFIRM_DEBUG
  13. #define DEBUG
  14. #define PROC_DEBUG
  15. #endif
  16. #define LBTF_DEB_ENTER 0x00000001
  17. #define LBTF_DEB_LEAVE 0x00000002
  18. #define LBTF_DEB_MAIN 0x00000004
  19. #define LBTF_DEB_NET 0x00000008
  20. #define LBTF_DEB_MESH 0x00000010
  21. #define LBTF_DEB_WEXT 0x00000020
  22. #define LBTF_DEB_IOCTL 0x00000040
  23. #define LBTF_DEB_SCAN 0x00000080
  24. #define LBTF_DEB_ASSOC 0x00000100
  25. #define LBTF_DEB_JOIN 0x00000200
  26. #define LBTF_DEB_11D 0x00000400
  27. #define LBTF_DEB_DEBUGFS 0x00000800
  28. #define LBTF_DEB_ETHTOOL 0x00001000
  29. #define LBTF_DEB_HOST 0x00002000
  30. #define LBTF_DEB_CMD 0x00004000
  31. #define LBTF_DEB_RX 0x00008000
  32. #define LBTF_DEB_TX 0x00010000
  33. #define LBTF_DEB_USB 0x00020000
  34. #define LBTF_DEB_CS 0x00040000
  35. #define LBTF_DEB_FW 0x00080000
  36. #define LBTF_DEB_THREAD 0x00100000
  37. #define LBTF_DEB_HEX 0x00200000
  38. #define LBTF_DEB_SDIO 0x00400000
  39. #define LBTF_DEB_MACOPS 0x00800000
  40. extern unsigned int lbtf_debug;
  41. #ifdef DEBUG
  42. #define LBTF_DEB_LL(grp, grpnam, fmt, args...) \
  43. do { if ((lbtf_debug & (grp)) == (grp)) \
  44. printk(KERN_DEBUG DRV_NAME grpnam "%s: " fmt, \
  45. in_interrupt() ? " (INT)" : "", ## args); } while (0)
  46. #else
  47. #define LBTF_DEB_LL(grp, grpnam, fmt, args...) do {} while (0)
  48. #endif
  49. #define lbtf_deb_enter(grp) \
  50. LBTF_DEB_LL(grp | LBTF_DEB_ENTER, " enter", "%s()\n", __func__);
  51. #define lbtf_deb_enter_args(grp, fmt, args...) \
  52. LBTF_DEB_LL(grp | LBTF_DEB_ENTER, " enter", "%s(" fmt ")\n", __func__, ## args);
  53. #define lbtf_deb_leave(grp) \
  54. LBTF_DEB_LL(grp | LBTF_DEB_LEAVE, " leave", "%s()\n", __func__);
  55. #define lbtf_deb_leave_args(grp, fmt, args...) \
  56. LBTF_DEB_LL(grp | LBTF_DEB_LEAVE, " leave", "%s(), " fmt "\n", \
  57. __func__, ##args);
  58. #define lbtf_deb_main(fmt, args...) LBTF_DEB_LL(LBTF_DEB_MAIN, " main", fmt, ##args)
  59. #define lbtf_deb_net(fmt, args...) LBTF_DEB_LL(LBTF_DEB_NET, " net", fmt, ##args)
  60. #define lbtf_deb_mesh(fmt, args...) LBTF_DEB_LL(LBTF_DEB_MESH, " mesh", fmt, ##args)
  61. #define lbtf_deb_wext(fmt, args...) LBTF_DEB_LL(LBTF_DEB_WEXT, " wext", fmt, ##args)
  62. #define lbtf_deb_ioctl(fmt, args...) LBTF_DEB_LL(LBTF_DEB_IOCTL, " ioctl", fmt, ##args)
  63. #define lbtf_deb_scan(fmt, args...) LBTF_DEB_LL(LBTF_DEB_SCAN, " scan", fmt, ##args)
  64. #define lbtf_deb_assoc(fmt, args...) LBTF_DEB_LL(LBTF_DEB_ASSOC, " assoc", fmt, ##args)
  65. #define lbtf_deb_join(fmt, args...) LBTF_DEB_LL(LBTF_DEB_JOIN, " join", fmt, ##args)
  66. #define lbtf_deb_11d(fmt, args...) LBTF_DEB_LL(LBTF_DEB_11D, " 11d", fmt, ##args)
  67. #define lbtf_deb_debugfs(fmt, args...) LBTF_DEB_LL(LBTF_DEB_DEBUGFS, " debugfs", fmt, ##args)
  68. #define lbtf_deb_ethtool(fmt, args...) LBTF_DEB_LL(LBTF_DEB_ETHTOOL, " ethtool", fmt, ##args)
  69. #define lbtf_deb_host(fmt, args...) LBTF_DEB_LL(LBTF_DEB_HOST, " host", fmt, ##args)
  70. #define lbtf_deb_cmd(fmt, args...) LBTF_DEB_LL(LBTF_DEB_CMD, " cmd", fmt, ##args)
  71. #define lbtf_deb_rx(fmt, args...) LBTF_DEB_LL(LBTF_DEB_RX, " rx", fmt, ##args)
  72. #define lbtf_deb_tx(fmt, args...) LBTF_DEB_LL(LBTF_DEB_TX, " tx", fmt, ##args)
  73. #define lbtf_deb_fw(fmt, args...) LBTF_DEB_LL(LBTF_DEB_FW, " fw", fmt, ##args)
  74. #define lbtf_deb_usb(fmt, args...) LBTF_DEB_LL(LBTF_DEB_USB, " usb", fmt, ##args)
  75. #define lbtf_deb_usbd(dev, fmt, args...) LBTF_DEB_LL(LBTF_DEB_USB, " usbd", "%s:" fmt, dev_name(dev), ##args)
  76. #define lbtf_deb_cs(fmt, args...) LBTF_DEB_LL(LBTF_DEB_CS, " cs", fmt, ##args)
  77. #define lbtf_deb_thread(fmt, args...) LBTF_DEB_LL(LBTF_DEB_THREAD, " thread", fmt, ##args)
  78. #define lbtf_deb_sdio(fmt, args...) LBTF_DEB_LL(LBTF_DEB_SDIO, " thread", fmt, ##args)
  79. #define lbtf_deb_macops(fmt, args...) LBTF_DEB_LL(LBTF_DEB_MACOPS, " thread", fmt, ##args)
  80. #ifdef DEBUG
  81. static inline void lbtf_deb_hex(unsigned int grp, const char *prompt, u8 *buf, int len)
  82. {
  83. char newprompt[32];
  84. if (len &&
  85. (lbtf_debug & LBTF_DEB_HEX) &&
  86. (lbtf_debug & grp)) {
  87. snprintf(newprompt, sizeof(newprompt), DRV_NAME " %s: ", prompt);
  88. print_hex_dump_bytes(prompt, DUMP_PREFIX_NONE, buf, len);
  89. }
  90. }
  91. #else
  92. #define lbtf_deb_hex(grp, prompt, buf, len) do {} while (0)
  93. #endif
  94. #endif