On Wed, Sep 18, 2024 at 8:10 AM WanRenyong <wa...@yunsilicon.com> wrote: > > Add log macro to print runtime messages and trace functions. > > Signed-off-by: WanRenyong <wa...@yunsilicon.com> > > --- > > v3: > * use RTE_LOG_LINE_PREFIX instead of rte_log > --- > drivers/net/xsc/xsc_ethdev.c | 11 +++++++++ > drivers/net/xsc/xsc_log.h | 46 ++++++++++++++++++++++++++++++++++++ > 2 files changed, 57 insertions(+) > create mode 100644 drivers/net/xsc/xsc_log.h > > diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c > index 0e48cb76fa..58ceaa3940 100644 > --- a/drivers/net/xsc/xsc_ethdev.c > +++ b/drivers/net/xsc/xsc_ethdev.c > @@ -1,3 +1,14 @@ > /* SPDX-License-Identifier: BSD-3-Clause > * Copyright 2024 Yunsilicon Technology Co., Ltd. > */ > + > +#include "xsc_log.h" > + > +RTE_LOG_REGISTER_SUFFIX(xsc_logtype_init, init, NOTICE); > +RTE_LOG_REGISTER_SUFFIX(xsc_logtype_driver, driver, NOTICE); > +#ifdef RTE_ETHDEV_DEBUG_RX > +RTE_LOG_REGISTER_SUFFIX(xsc_logtype_rx, rx, DEBUG); > +#endif > +#ifdef RTE_ETHDEV_DEBUG_TX > +RTE_LOG_REGISTER_SUFFIX(xsc_logtype_tx, tx, DEBUG); > +#endif > diff --git a/drivers/net/xsc/xsc_log.h b/drivers/net/xsc/xsc_log.h > new file mode 100644 > index 0000000000..99a88fcd1b > --- /dev/null > +++ b/drivers/net/xsc/xsc_log.h > @@ -0,0 +1,46 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright 2024 Yunsilicon Technology Co., Ltd. > + */ > + > +#ifndef _XSC_LOG_H_ > +#define _XSC_LOG_H_ > + > +#include <rte_log.h> > + > +extern int xsc_logtype_init; > +extern int xsc_logtype_driver; > +#define RTE_LOGTYPE_XSC_INIT xsc_logtype_init > +#define RTE_LOGTYPE_XSC_DRV xsc_logtype_driver > + > + > +#define PMD_INIT_LOG(level, ...) \ > + RTE_LOG_LINE_PREFIX(level, XSC_INIT, "%s(): ", __func__, __VA_ARGS__)
Thank you for converting to RTE_LOG_LINE! > + > + > +#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>") > + > +#ifdef RTE_ETHDEV_DEBUG_RX > +extern int xsc_logtype_rx; > +#define RTE_LOGTYPE_XSC_RX xsc_logtype_rx > +#define PMD_RX_LOG(level, ...) \ > + RTE_LOG_LINE_PREFIX(level, XSC_RX, "%s(): ", __func__, __VA_ARGS__) > +#else > +#define PMD_RX_LOG(level, ...) do { } while (0) > +#endif > + > +#ifdef RTE_ETHDEV_DEBUG_TX > +extern int xsc_logtype_tx; > +#define RTE_LOGTYPE_XSC_TX xsc_logtype_tx > +#define PMD_TX_LOG(level, ...) \ > + RTE_LOG_LINE_PREFIX(level, XSC_TX, "%s(): ", __func__, __VA_ARGS__) > +#else > +#define PMD_TX_LOG(level, ...) do { } while (0) > +#endif I don't see any code calling those macros in the series, so I would remove them for now. You can introduce them in the future when needed. > + > +#define PMD_DRV_LOG_RAW(level, ...) \ > + RTE_LOG_LINE_PREFIX(level, XSC_DRV, "%s(): ", __func__, __VA_ARGS__) > + > +#define PMD_DRV_LOG(level, ...) \ > + PMD_DRV_LOG_RAW(level, __VA_ARGS__) The PMD_DRV_LOG_RAW macro seems unused and can be removed => PMD_DRV_LOG() directly calls RTE_LOG_LINE_PREFIX(). -- David Marchand