1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 221b7b2f5SYi Zou #ifndef _FCOE_LIBFCOE_H_ 321b7b2f5SYi Zou #define _FCOE_LIBFCOE_H_ 421b7b2f5SYi Zou 521b7b2f5SYi Zou extern unsigned int libfcoe_debug_logging; 621b7b2f5SYi Zou #define LIBFCOE_LOGGING 0x01 /* General logging, not categorized */ 721b7b2f5SYi Zou #define LIBFCOE_FIP_LOGGING 0x02 /* FIP logging */ 8fdecf31bSYi Zou #define LIBFCOE_TRANSPORT_LOGGING 0x04 /* FCoE transport logging */ 93993de61SRobert Love #define LIBFCOE_SYSFS_LOGGING 0x08 /* fcoe_sysfs logging */ 1021b7b2f5SYi Zou 1121b7b2f5SYi Zou #define LIBFCOE_CHECK_LOGGING(LEVEL, CMD) \ 1221b7b2f5SYi Zou do { \ 1321b7b2f5SYi Zou if (unlikely(libfcoe_debug_logging & LEVEL)) \ 1421b7b2f5SYi Zou do { \ 1521b7b2f5SYi Zou CMD; \ 1621b7b2f5SYi Zou } while (0); \ 1721b7b2f5SYi Zou } while (0) 1821b7b2f5SYi Zou 1921b7b2f5SYi Zou #define LIBFCOE_DBG(fmt, args...) \ 2021b7b2f5SYi Zou LIBFCOE_CHECK_LOGGING(LIBFCOE_LOGGING, \ 218e6c5363SRobert Love pr_info("libfcoe: " fmt, ##args);) 2221b7b2f5SYi Zou 2321b7b2f5SYi Zou #define LIBFCOE_FIP_DBG(fip, fmt, args...) \ 2421b7b2f5SYi Zou LIBFCOE_CHECK_LOGGING(LIBFCOE_FIP_LOGGING, \ 258e6c5363SRobert Love pr_info("host%d: fip: " fmt, \ 2621b7b2f5SYi Zou (fip)->lp->host->host_no, ##args);) 2721b7b2f5SYi Zou 28fdecf31bSYi Zou #define LIBFCOE_TRANSPORT_DBG(fmt, args...) \ 29fdecf31bSYi Zou LIBFCOE_CHECK_LOGGING(LIBFCOE_TRANSPORT_LOGGING, \ 308e6c5363SRobert Love pr_info("%s: " fmt, __func__, ##args);) 31fdecf31bSYi Zou 323993de61SRobert Love #define LIBFCOE_SYSFS_DBG(cdev, fmt, args...) \ 333993de61SRobert Love LIBFCOE_CHECK_LOGGING(LIBFCOE_SYSFS_LOGGING, \ 343993de61SRobert Love pr_info("ctlr_%d: " fmt, cdev->id, ##args);) 353993de61SRobert Love 3621b7b2f5SYi Zou #endif /* _FCOE_LIBFCOE_H_ */ 37