drivers: remove __rte_used from functions for compatibility with MSVC
Checks
Commit Message
With gcc, the macro __rte_used translates to __attribute__((used)).
MSVC has something to the same effect, but harder to use and with some
limitations (one being that it cannot be used with "static"). Therefore,
it makes sense to avoid __rte_used in some cases.
The functions modified in this patch don't really need to use __rte_used.
Instead, these functions can be involved in same ifdefs used in the
callers. That way, they are only defined when needed (when
someone is actually calling the function). Doing so makes the code
compatible with MSVC and avoids compiler warnings about functions being
defined but not used.
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
---
drivers/net/cnxk/cn10k_rx_select.c | 6 +++++-
drivers/net/cnxk/cn10k_tx_select.c | 6 ++++--
drivers/net/cnxk/cn20k_rx_select.c | 6 +++++-
drivers/net/cnxk/cn20k_tx_select.c | 6 ++++--
drivers/net/cnxk/cn9k_rx_select.c | 6 ++++--
drivers/net/cnxk/cn9k_tx_select.c | 6 ++++--
6 files changed, 26 insertions(+), 10 deletions(-)
@@ -5,7 +5,9 @@
#include "cn10k_ethdev.h"
#include "cn10k_rx.h"
-static __rte_used void
+#if defined(RTE_ARCH_ARM64)
+#if !defined(CNXK_DIS_TMPLT_FUNC)
+static void
pick_rx_func(struct rte_eth_dev *eth_dev,
const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX])
{
@@ -21,6 +23,8 @@ pick_rx_func(struct rte_eth_dev *eth_dev,
rte_atomic_thread_fence(rte_memory_order_release);
}
+#endif
+#endif
static uint16_t __rte_noinline __rte_hot __rte_unused
cn10k_nix_flush_rx(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)
@@ -5,7 +5,9 @@
#include "cn10k_ethdev.h"
#include "cn10k_tx.h"
-static __rte_used inline void
+#if defined(RTE_ARCH_ARM64)
+#if !defined(CNXK_DIS_TMPLT_FUNC)
+static inline void
pick_tx_func(struct rte_eth_dev *eth_dev,
const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX])
{
@@ -19,8 +21,8 @@ pick_tx_func(struct rte_eth_dev *eth_dev,
rte_eth_fp_ops[eth_dev->data->port_id].tx_pkt_burst =
eth_dev->tx_pkt_burst;
}
+#endif
-#if defined(RTE_ARCH_ARM64)
static int
cn10k_nix_tx_queue_count(void *tx_queue)
{
@@ -5,7 +5,9 @@
#include "cn20k_ethdev.h"
#include "cn20k_rx.h"
-static __rte_used void
+#if defined(RTE_ARCH_ARM64)
+#if !defined(CNXK_DIS_TMPLT_FUNC)
+static void
pick_rx_func(struct rte_eth_dev *eth_dev, const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX])
{
struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
@@ -18,6 +20,8 @@ pick_rx_func(struct rte_eth_dev *eth_dev, const eth_rx_burst_t rx_burst[NIX_RX_O
rte_atomic_thread_fence(rte_memory_order_release);
}
+#endif
+#endif
static uint16_t __rte_noinline __rte_hot __rte_unused
cn20k_nix_flush_rx(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)
@@ -5,7 +5,9 @@
#include "cn20k_ethdev.h"
#include "cn20k_tx.h"
-static __rte_used inline void
+#if defined(RTE_ARCH_ARM64)
+#if !defined(CNXK_DIS_TMPLT_FUNC)
+static inline void
pick_tx_func(struct rte_eth_dev *eth_dev, const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX])
{
struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
@@ -16,8 +18,8 @@ pick_tx_func(struct rte_eth_dev *eth_dev, const eth_tx_burst_t tx_burst[NIX_TX_O
if (eth_dev->data->dev_started)
rte_eth_fp_ops[eth_dev->data->port_id].tx_pkt_burst = eth_dev->tx_pkt_burst;
}
+#endif
-#if defined(RTE_ARCH_ARM64)
static int
cn20k_nix_tx_queue_count(void *tx_queue)
{
@@ -5,7 +5,9 @@
#include "cn9k_ethdev.h"
#include "cn9k_rx.h"
-static __rte_used void
+#if defined(RTE_ARCH_ARM64)
+#if !defined(CNXK_DIS_TMPLT_FUNC)
+static void
pick_rx_func(struct rte_eth_dev *eth_dev,
const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX])
{
@@ -19,8 +21,8 @@ pick_rx_func(struct rte_eth_dev *eth_dev,
rte_eth_fp_ops[eth_dev->data->port_id].rx_pkt_burst =
eth_dev->rx_pkt_burst;
}
+#endif
-#if defined(RTE_ARCH_ARM64)
static void
cn9k_eth_set_rx_tmplt_func(struct rte_eth_dev *eth_dev)
{
@@ -5,7 +5,9 @@
#include "cn9k_ethdev.h"
#include "cn9k_tx.h"
-static __rte_used void
+#if defined(RTE_ARCH_ARM64)
+#if !defined(CNXK_DIS_TMPLT_FUNC)
+static void
pick_tx_func(struct rte_eth_dev *eth_dev,
const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX])
{
@@ -19,8 +21,8 @@ pick_tx_func(struct rte_eth_dev *eth_dev,
rte_eth_fp_ops[eth_dev->data->port_id].tx_pkt_burst =
eth_dev->tx_pkt_burst;
}
+#endif
-#if defined(RTE_ARCH_ARM64)
static int
cn9k_nix_tx_queue_count(void *tx_queue)
{