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