xref: /dpdk/drivers/net/ionic/ionic_logs.h (revision 7c125393)
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