blob: 57c3590efba48da7c0edf3e6bc6aca2e77224615 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
2 * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28#ifndef _DEBUG_LINUX_H_
29#define _DEBUG_LINUX_H_
30
31/* macro to remove parens */
32#define ATH_PRINTX_ARG(arg ...) arg
33
34#ifdef DEBUG
35/* NOTE: the AR_DEBUG_PRINTF macro is defined here to handle special handling of variable arg macros
36 * which may be compiler dependent. */
37#define AR_DEBUG_PRINTF(mask, args) do { \
38 if (GET_ATH_MODULE_DEBUG_VAR_MASK(ATH_MODULE_NAME) & (mask)) { \
39 A_LOGGER(mask, ATH_MODULE_NAME, ATH_PRINTX_ARG args); \
40 } \
41} while (0)
42#else
43/* on non-debug builds, keep in error and warning messages in the driver, all other
44 * message tracing will get compiled out */
45#define AR_DEBUG_PRINTF(mask, args) \
46 if ((mask) & (ATH_DEBUG_ERR | ATH_DEBUG_WARN)) { A_PRINTF(ATH_PRINTX_ARG args); }
47
48#endif
49
50#endif /* _DEBUG_LINUX_H_ */