Rather than use weak symbols, expose stubs symbols when needed. Signed-off-by: David Marchand <david.march...@redhat.com> --- Changes since v1: - fix build for Arm64 without SVE,
--- drivers/net/hns3/hns3_rxtx.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 09e39cb673..bb7ffee12c 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -2787,32 +2787,36 @@ hns3_recv_scattered_pkts(void *rx_queue, return nb_rx; } -void __rte_weak +#ifndef RTE_ARCH_ARM64 +void hns3_rxq_vec_setup(__rte_unused struct hns3_rx_queue *rxq) { } -int __rte_weak +int hns3_rx_check_vec_support(__rte_unused struct rte_eth_dev *dev) { return -ENOTSUP; } -uint16_t __rte_weak +uint16_t hns3_recv_pkts_vec(__rte_unused void *rx_queue, __rte_unused struct rte_mbuf **rx_pkts, __rte_unused uint16_t nb_pkts) { return 0; } +#endif /* RTE_ARCH_ARM64 */ -uint16_t __rte_weak +#ifndef RTE_HAS_SVE_ACLE +uint16_t hns3_recv_pkts_vec_sve(__rte_unused void *rx_queue, __rte_unused struct rte_mbuf **rx_pkts, __rte_unused uint16_t nb_pkts) { return 0; } +#endif /* RTE_HAS_SVE_ACLE */ int hns3_rx_burst_mode_get(struct rte_eth_dev *dev, __rte_unused uint16_t queue_id, @@ -4256,27 +4260,31 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) return nb_tx; } -int __rte_weak +#ifndef RTE_ARCH_ARM64 +int hns3_tx_check_vec_support(__rte_unused struct rte_eth_dev *dev) { return -ENOTSUP; } -uint16_t __rte_weak +uint16_t hns3_xmit_pkts_vec(__rte_unused void *tx_queue, __rte_unused struct rte_mbuf **tx_pkts, __rte_unused uint16_t nb_pkts) { return 0; } +#endif /* RTE_ARCH_ARM64 */ -uint16_t __rte_weak +#ifndef RTE_HAS_SVE_ACLE +uint16_t hns3_xmit_pkts_vec_sve(void __rte_unused * tx_queue, struct rte_mbuf __rte_unused **tx_pkts, uint16_t __rte_unused nb_pkts) { return 0; } +#endif /* RTE_HAS_SVE_ACLE */ int hns3_tx_burst_mode_get(struct rte_eth_dev *dev, __rte_unused uint16_t queue_id, -- 2.48.1