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