Add zxdh logging implementation.<br /> <br />Signed-off-by: Junlong Wang <wang.junlong1@zte.com.cn> <br />---<br /> drivers/net/zxdh/zxdh_ethdev.c | 15 +++++++++++--<br /> drivers/net/zxdh/zxdh_logs.h   | 40 ++++++++++++++++++++++++++++++++++<br /> 2 files changed, 53 insertions(+), 2 deletions(-)<br /> create mode 100644 drivers/net/zxdh/zxdh_logs.h<br /> <br />diff --git a/drivers/net/zxdh/zxdh_ethdev.c b/drivers/net/zxdh/zxdh_ethdev.c<br />index 5b6c9ec1bf..c911284423 100644<br />--- a/drivers/net/zxdh/zxdh_ethdev.c<br />+++ b/drivers/net/zxdh/zxdh_ethdev.c<br />@@ -7,6 +7,7 @@<br /> #include <rte_ethdev.h> <br />  <br /> #include "zxdh_ethdev.h" <br />+#include "zxdh_logs.h" <br />  <br /> static int zxdh_eth_dev_init(struct rte_eth_dev *eth_dev)<br /> {<br />@@ -19,13 +20,18 @@ static int zxdh_eth_dev_init(struct rte_eth_dev *eth_dev)<br />     /* Allocate memory for storing MAC addresses */<br />     eth_dev->data->mac_addrs = rte_zmalloc("zxdh_mac",<br />             ZXDH_MAX_MAC_ADDRS * RTE_ETHER_ADDR_LEN, 0);<br />-    if (eth_dev->data->mac_addrs == NULL)<br />+    if (eth_dev->data->mac_addrs == NULL) {<br />+        PMD_INIT_LOG(ERR, "Failed to allocate %d bytes store MAC addresses",<br />+                ZXDH_MAX_MAC_ADDRS * RTE_ETHER_ADDR_LEN);<br />         return -ENOMEM;<br />+    }<br />  <br />     memset(hw, 0, sizeof(*hw));<br />     hw->bar_addr[0] = (uint64_t)pci_dev->mem_resource[0].addr;<br />-    if (hw->bar_addr[0] == 0)<br />+    if (hw->bar_addr[0] == 0) {<br />+        PMD_INIT_LOG(ERR, "Bad mem resource.");<br />         return -EIO;<br />+    }<br />  <br />     hw->device_id = pci_dev->id.device_id;<br />     hw->port_id = eth_dev->data->port_id;<br />@@ -90,3 +96,8 @@ static struct rte_pci_driver zxdh_pmd = {<br /> RTE_PMD_REGISTER_PCI(net_zxdh, zxdh_pmd);<br /> RTE_PMD_REGISTER_PCI_TABLE(net_zxdh, pci_id_zxdh_map);<br /> RTE_PMD_REGISTER_KMOD_DEP(net_zxdh, "* vfio-pci");<br />+RTE_LOG_REGISTER_SUFFIX(zxdh_logtype_init, init, NOTICE);<br />+RTE_LOG_REGISTER_SUFFIX(zxdh_logtype_driver, driver, NOTICE);<br />+RTE_LOG_REGISTER_SUFFIX(zxdh_logtype_rx, rx, NOTICE);<br />+RTE_LOG_REGISTER_SUFFIX(zxdh_logtype_tx, tx, NOTICE);<br />+RTE_LOG_REGISTER_SUFFIX(zxdh_logtype_msg, msg, NOTICE);<br />diff --git a/drivers/net/zxdh/zxdh_logs.h b/drivers/net/zxdh/zxdh_logs.h<br />new file mode 100644<br />index 0000000000..a8a6a3135b<br />--- /dev/null<br />+++ b/drivers/net/zxdh/zxdh_logs.h<br />@@ -0,0 +1,40 @@<br />+/* SPDX-License-Identifier: BSD-3-Clause<br />+ * Copyright(c) 2024 ZTE Corporation<br />+ */<br />+<br />+#ifndef ZXDH_LOGS_H<br />+#define ZXDH_LOGS_H<br />+<br />+#include <rte_log.h> <br />+<br />+extern int zxdh_logtype_init;<br />+#define RTE_LOGTYPE_ZXDH_INIT zxdh_logtype_init<br />+#define PMD_INIT_LOG(level, ...) \<br />+    RTE_LOG_LINE_PREFIX(level, ZXDH_INIT, "offload_zxdh %s(): ", \<br />+        __func__, __VA_ARGS__)<br />+<br />+extern int zxdh_logtype_driver;<br />+#define RTE_LOGTYPE_ZXDH_DRIVER zxdh_logtype_driver<br />+#define PMD_DRV_LOG(level, ...) \<br />+    RTE_LOG_LINE_PREFIX(level, ZXDH_DRIVER, "offload_zxdh %s(): ", \<br />+        __func__, __VA_ARGS__)<br />+<br />+extern int zxdh_logtype_rx;<br />+#define RTE_LOGTYPE_ZXDH_RX zxdh_logtype_rx<br />+#define PMD_RX_LOG(level, ...) \<br />+    RTE_LOG_LINE_PREFIX(level, ZXDH_RX, "offload_zxdh %s(): ", \<br />+        __func__, __VA_ARGS__)<br />+<br />+extern int zxdh_logtype_tx;<br />+#define RTE_LOGTYPE_ZXDH_TX zxdh_logtype_tx<br />+#define PMD_TX_LOG(level, ...) \<br />+    RTE_LOG_LINE_PREFIX(level, ZXDH_TX, "offload_zxdh %s(): ", \<br />+        __func__, __VA_ARGS__)<br />+<br />+extern int zxdh_logtype_msg;<br />+#define RTE_LOGTYPE_ZXDH_MSG zxdh_logtype_msg<br />+#define PMD_MSG_LOG(level, ...) \<br />+    RTE_LOG_LINE_PREFIX(level, ZXDH_MSG, "offload_zxdh %s(): ", \<br />+        __func__, __VA_ARGS__)<br />+<br />+#endif /* ZXDH_LOGS_H */<br />--  <br />2.27.0<br />