linux/drivers/net/wireless/ti/wlcore/debug.h
<<
>>
Prefs
   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
  20enum {
  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
  46extern 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__ */
  99