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 | |