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