1*2d9fd380Sjfb8856606 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) 2*2d9fd380Sjfb8856606 * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved. 3*2d9fd380Sjfb8856606 */ 4*2d9fd380Sjfb8856606 5*2d9fd380Sjfb8856606 #ifndef _IONIC_LOGS_H_ 6*2d9fd380Sjfb8856606 #define _IONIC_LOGS_H_ 7*2d9fd380Sjfb8856606 8*2d9fd380Sjfb8856606 #include <rte_log.h> 9*2d9fd380Sjfb8856606 10*2d9fd380Sjfb8856606 extern int ionic_logtype; 11*2d9fd380Sjfb8856606 12*2d9fd380Sjfb8856606 #define IONIC_PRINT(level, fmt, args...) rte_log(RTE_LOG_ ## level, \ 13*2d9fd380Sjfb8856606 ionic_logtype, "%s(): " fmt "\n", __func__, ##args) 14*2d9fd380Sjfb8856606 15*2d9fd380Sjfb8856606 #define IONIC_PRINT_CALL() IONIC_PRINT(DEBUG, " >>") 16*2d9fd380Sjfb8856606 17*2d9fd380Sjfb8856606 #ifndef IONIC_WARN_ON 18*2d9fd380Sjfb8856606 #define IONIC_WARN_ON(x) do { \ 19*2d9fd380Sjfb8856606 int ret = !!(x); \ 20*2d9fd380Sjfb8856606 if (unlikely(ret)) \ 21*2d9fd380Sjfb8856606 IONIC_PRINT(WARNING, "WARN_ON: \"" #x "\" at %s:%d\n", \ 22*2d9fd380Sjfb8856606 __func__, __LINE__); \ 23*2d9fd380Sjfb8856606 } while (0) 24*2d9fd380Sjfb8856606 #endif 25*2d9fd380Sjfb8856606 26*2d9fd380Sjfb8856606 #endif /* _IONIC_LOGS_H_ */ 27