xref: /linux/drivers/infiniband/hw/usnic/usnic_log.h (revision 3932b9ca55b0be314a36d3e84faff3e823c081f5)
1 /*
2  * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved.
3  *
4  * This program is free software; you may redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 2 of the License.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
9  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
10  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
11  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
12  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
13  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
14  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
15  * SOFTWARE.
16  *
17  */
18 
19 #ifndef USNIC_LOG_H_
20 #define USNIC_LOG_H_
21 
22 #include "usnic.h"
23 
24 extern unsigned int usnic_log_lvl;
25 
26 #define USNIC_LOG_LVL_NONE		(0)
27 #define USNIC_LOG_LVL_ERR		(1)
28 #define USNIC_LOG_LVL_INFO		(2)
29 #define USNIC_LOG_LVL_DBG		(3)
30 
31 #define usnic_printk(lvl, args...) \
32 	do { \
33 		printk(lvl "%s:%s:%d: ", DRV_NAME, __func__, \
34 				__LINE__); \
35 		printk(args); \
36 	} while (0)
37 
38 #define usnic_dbg(args...) \
39 	do { \
40 		if (unlikely(usnic_log_lvl >= USNIC_LOG_LVL_DBG)) { \
41 			usnic_printk(KERN_INFO, args); \
42 	} \
43 } while (0)
44 
45 #define usnic_info(args...) \
46 do { \
47 	if (usnic_log_lvl >= USNIC_LOG_LVL_INFO) { \
48 			usnic_printk(KERN_INFO, args); \
49 	} \
50 } while (0)
51 
52 #define usnic_err(args...) \
53 	do { \
54 		if (usnic_log_lvl >= USNIC_LOG_LVL_ERR) { \
55 			usnic_printk(KERN_ERR, args); \
56 		} \
57 	} while (0)
58 #endif /* !USNIC_LOG_H_ */
59