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