18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _FCOE_LIBFCOE_H_
38c2ecf20Sopenharmony_ci#define _FCOE_LIBFCOE_H_
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciextern unsigned int libfcoe_debug_logging;
68c2ecf20Sopenharmony_ci#define LIBFCOE_LOGGING	          0x01 /* General logging, not categorized */
78c2ecf20Sopenharmony_ci#define LIBFCOE_FIP_LOGGING       0x02 /* FIP logging */
88c2ecf20Sopenharmony_ci#define LIBFCOE_TRANSPORT_LOGGING 0x04 /* FCoE transport logging */
98c2ecf20Sopenharmony_ci#define LIBFCOE_SYSFS_LOGGING     0x08 /* fcoe_sysfs logging */
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#define LIBFCOE_CHECK_LOGGING(LEVEL, CMD)		\
128c2ecf20Sopenharmony_cido {							\
138c2ecf20Sopenharmony_ci	if (unlikely(libfcoe_debug_logging & LEVEL))	\
148c2ecf20Sopenharmony_ci		do {					\
158c2ecf20Sopenharmony_ci			CMD;				\
168c2ecf20Sopenharmony_ci		} while (0);				\
178c2ecf20Sopenharmony_ci} while (0)
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci#define LIBFCOE_DBG(fmt, args...)					\
208c2ecf20Sopenharmony_ci	LIBFCOE_CHECK_LOGGING(LIBFCOE_LOGGING,				\
218c2ecf20Sopenharmony_ci			      pr_info("libfcoe: " fmt, ##args);)
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci#define LIBFCOE_FIP_DBG(fip, fmt, args...)				\
248c2ecf20Sopenharmony_ci	LIBFCOE_CHECK_LOGGING(LIBFCOE_FIP_LOGGING,			\
258c2ecf20Sopenharmony_ci			      pr_info("host%d: fip: " fmt,		\
268c2ecf20Sopenharmony_ci				      (fip)->lp->host->host_no, ##args);)
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#define LIBFCOE_TRANSPORT_DBG(fmt, args...)				\
298c2ecf20Sopenharmony_ci	LIBFCOE_CHECK_LOGGING(LIBFCOE_TRANSPORT_LOGGING,		\
308c2ecf20Sopenharmony_ci			      pr_info("%s: " fmt, __func__, ##args);)
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci#define LIBFCOE_SYSFS_DBG(cdev, fmt, args...)				\
338c2ecf20Sopenharmony_ci	LIBFCOE_CHECK_LOGGING(LIBFCOE_SYSFS_LOGGING,			\
348c2ecf20Sopenharmony_ci			      pr_info("ctlr_%d: " fmt, cdev->id, ##args);)
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci#endif /* _FCOE_LIBFCOE_H_ */
37