1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _FCOE_LIBFCOE_H_
3 #define _FCOE_LIBFCOE_H_
4 
5 extern unsigned int libfcoe_debug_logging;
6 #define LIBFCOE_LOGGING	          0x01 /* General logging, not categorized */
7 #define LIBFCOE_FIP_LOGGING       0x02 /* FIP logging */
8 #define LIBFCOE_TRANSPORT_LOGGING 0x04 /* FCoE transport logging */
9 #define LIBFCOE_SYSFS_LOGGING     0x08 /* fcoe_sysfs logging */
10 
11 #define LIBFCOE_CHECK_LOGGING(LEVEL, CMD)		\
12 do {							\
13 	if (unlikely(libfcoe_debug_logging & LEVEL))	\
14 		do {					\
15 			CMD;				\
16 		} while (0);				\
17 } while (0)
18 
19 #define LIBFCOE_DBG(fmt, args...)					\
20 	LIBFCOE_CHECK_LOGGING(LIBFCOE_LOGGING,				\
21 			      pr_info("libfcoe: " fmt, ##args);)
22 
23 #define LIBFCOE_FIP_DBG(fip, fmt, args...)				\
24 	LIBFCOE_CHECK_LOGGING(LIBFCOE_FIP_LOGGING,			\
25 			      pr_info("host%d: fip: " fmt,		\
26 				      (fip)->lp->host->host_no, ##args);)
27 
28 #define LIBFCOE_TRANSPORT_DBG(fmt, args...)				\
29 	LIBFCOE_CHECK_LOGGING(LIBFCOE_TRANSPORT_LOGGING,		\
30 			      pr_info("%s: " fmt, __func__, ##args);)
31 
32 #define LIBFCOE_SYSFS_DBG(cdev, fmt, args...)				\
33 	LIBFCOE_CHECK_LOGGING(LIBFCOE_SYSFS_LOGGING,			\
34 			      pr_info("ctlr_%d: " fmt, cdev->id, ##args);)
35 
36 #endif /* _FCOE_LIBFCOE_H_ */
37