root/drivers/net/wireless/ti/wlcore/debug.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * This file is part of wl12xx
   4  *
   5  * Copyright (C) 2011 Texas Instruments. All rights reserved.
   6  * Copyright (C) 2008-2009 Nokia Corporation
   7  *
   8  * Contact: Luciano Coelho <coelho@ti.com>
   9  */
  10 
  11 #ifndef __DEBUG_H__
  12 #define __DEBUG_H__
  13 
  14 #include <linux/bitops.h>
  15 #include <linux/printk.h>
  16 
  17 #define DRIVER_NAME "wlcore"
  18 #define DRIVER_PREFIX DRIVER_NAME ": "
  19 
  20 enum {
  21         DEBUG_NONE      = 0,
  22         DEBUG_IRQ       = BIT(0),
  23         DEBUG_SPI       = BIT(1),
  24         DEBUG_BOOT      = BIT(2),
  25         DEBUG_MAILBOX   = BIT(3),
  26         DEBUG_TESTMODE  = BIT(4),
  27         DEBUG_EVENT     = BIT(5),
  28         DEBUG_TX        = BIT(6),
  29         DEBUG_RX        = BIT(7),
  30         DEBUG_SCAN      = BIT(8),
  31         DEBUG_CRYPT     = BIT(9),
  32         DEBUG_PSM       = BIT(10),
  33         DEBUG_MAC80211  = BIT(11),
  34         DEBUG_CMD       = BIT(12),
  35         DEBUG_ACX       = BIT(13),
  36         DEBUG_SDIO      = BIT(14),
  37         DEBUG_FILTERS   = BIT(15),
  38         DEBUG_ADHOC     = BIT(16),
  39         DEBUG_AP        = BIT(17),
  40         DEBUG_PROBE     = BIT(18),
  41         DEBUG_IO        = BIT(19),
  42         DEBUG_MASTER    = (DEBUG_ADHOC | DEBUG_AP),
  43         DEBUG_ALL       = ~0,
  44 };
  45 
  46 extern u32 wl12xx_debug_level;
  47 
  48 #define DEBUG_DUMP_LIMIT 1024
  49 
  50 #define wl1271_error(fmt, arg...) \
  51         pr_err(DRIVER_PREFIX "ERROR " fmt "\n", ##arg)
  52 
  53 #define wl1271_warning(fmt, arg...) \
  54         pr_warn(DRIVER_PREFIX "WARNING " fmt "\n", ##arg)
  55 
  56 #define wl1271_notice(fmt, arg...) \
  57         pr_info(DRIVER_PREFIX fmt "\n", ##arg)
  58 
  59 #define wl1271_info(fmt, arg...) \
  60         pr_info(DRIVER_PREFIX fmt "\n", ##arg)
  61 
  62 /* define the debug macro differently if dynamic debug is supported */
  63 #if defined(CONFIG_DYNAMIC_DEBUG)
  64 #define wl1271_debug(level, fmt, arg...) \
  65         do { \
  66                 if (unlikely(level & wl12xx_debug_level)) \
  67                         dynamic_pr_debug(DRIVER_PREFIX fmt "\n", ##arg); \
  68         } while (0)
  69 #else
  70 #define wl1271_debug(level, fmt, arg...) \
  71         do { \
  72                 if (unlikely(level & wl12xx_debug_level)) \
  73                         printk(KERN_DEBUG pr_fmt(DRIVER_PREFIX fmt "\n"), \
  74                                ##arg); \
  75         } while (0)
  76 #endif
  77 
  78 #define wl1271_dump(level, prefix, buf, len)                                  \
  79         do {                                                                  \
  80                 if (level & wl12xx_debug_level)                               \
  81                         print_hex_dump_debug(DRIVER_PREFIX prefix,            \
  82                                         DUMP_PREFIX_OFFSET, 16, 1,            \
  83                                         buf,                                  \
  84                                         min_t(size_t, len, DEBUG_DUMP_LIMIT), \
  85                                         0);                                   \
  86         } while (0)
  87 
  88 #define wl1271_dump_ascii(level, prefix, buf, len)                            \
  89         do {                                                                  \
  90                 if (level & wl12xx_debug_level)                               \
  91                         print_hex_dump_debug(DRIVER_PREFIX prefix,            \
  92                                         DUMP_PREFIX_OFFSET, 16, 1,            \
  93                                         buf,                                  \
  94                                         min_t(size_t, len, DEBUG_DUMP_LIMIT), \
  95                                         true);                                \
  96         } while (0)
  97 
  98 #endif /* __DEBUG_H__ */

/* [<][>][^][v][top][bottom][index][help] */