at v2.6.37 90 lines 3.1 kB view raw
1/* 2 * Copyright (c) 2008-2009 Atheros Communications Inc. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17#ifndef ATH_DEBUG_H 18#define ATH_DEBUG_H 19 20#include "ath.h" 21 22/** 23 * enum ath_debug_level - atheros wireless debug level 24 * 25 * @ATH_DBG_RESET: reset processing 26 * @ATH_DBG_QUEUE: hardware queue management 27 * @ATH_DBG_EEPROM: eeprom processing 28 * @ATH_DBG_CALIBRATE: periodic calibration 29 * @ATH_DBG_INTERRUPT: interrupt processing 30 * @ATH_DBG_REGULATORY: regulatory processing 31 * @ATH_DBG_ANI: adaptive noise immunitive processing 32 * @ATH_DBG_XMIT: basic xmit operation 33 * @ATH_DBG_BEACON: beacon handling 34 * @ATH_DBG_CONFIG: configuration of the hardware 35 * @ATH_DBG_FATAL: fatal errors, this is the default, DBG_DEFAULT 36 * @ATH_DBG_PS: power save processing 37 * @ATH_DBG_HWTIMER: hardware timer handling 38 * @ATH_DBG_BTCOEX: bluetooth coexistance 39 * @ATH_DBG_BSTUCK: stuck beacons 40 * @ATH_DBG_ANY: enable all debugging 41 * 42 * The debug level is used to control the amount and type of debugging output 43 * we want to see. Each driver has its own method for enabling debugging and 44 * modifying debug level states -- but this is typically done through a 45 * module parameter 'debug' along with a respective 'debug' debugfs file 46 * entry. 47 */ 48enum ATH_DEBUG { 49 ATH_DBG_RESET = 0x00000001, 50 ATH_DBG_QUEUE = 0x00000002, 51 ATH_DBG_EEPROM = 0x00000004, 52 ATH_DBG_CALIBRATE = 0x00000008, 53 ATH_DBG_INTERRUPT = 0x00000010, 54 ATH_DBG_REGULATORY = 0x00000020, 55 ATH_DBG_ANI = 0x00000040, 56 ATH_DBG_XMIT = 0x00000080, 57 ATH_DBG_BEACON = 0x00000100, 58 ATH_DBG_CONFIG = 0x00000200, 59 ATH_DBG_FATAL = 0x00000400, 60 ATH_DBG_PS = 0x00000800, 61 ATH_DBG_HWTIMER = 0x00001000, 62 ATH_DBG_BTCOEX = 0x00002000, 63 ATH_DBG_WMI = 0x00004000, 64 ATH_DBG_BSTUCK = 0x00008000, 65 ATH_DBG_ANY = 0xffffffff 66}; 67 68#define ATH_DBG_DEFAULT (ATH_DBG_FATAL) 69 70#ifdef CONFIG_ATH_DEBUG 71void ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...) 72 __attribute__ ((format (printf, 3, 4))); 73#else 74static inline void __attribute__ ((format (printf, 3, 4))) 75ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...) 76{ 77} 78#endif /* CONFIG_ATH_DEBUG */ 79 80/** Returns string describing opmode, or NULL if unknown mode. */ 81#ifdef CONFIG_ATH_DEBUG 82const char *ath_opmode_to_string(enum nl80211_iftype opmode); 83#else 84static inline const char *ath_opmode_to_string(enum nl80211_iftype opmode) 85{ 86 return "UNKNOWN"; 87} 88#endif 89 90#endif /* ATH_DEBUG_H */