enetc: Clean up of ehtool stats len

Refactor the stats len computation code to make it easier
to add new stats counters.

Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Claudiu Manoil 2020-03-10 14:51:22 +02:00 committed by David S. Miller
parent 9ff3dd7b84
commit a784c92ee2

View File

@ -195,15 +195,21 @@ static const char tx_ring_stats[][ETH_GSTRING_LEN] = {
static int enetc_get_sset_count(struct net_device *ndev, int sset)
{
struct enetc_ndev_priv *priv = netdev_priv(ndev);
int len;
if (sset == ETH_SS_STATS)
return ARRAY_SIZE(enetc_si_counters) +
ARRAY_SIZE(tx_ring_stats) * priv->num_tx_rings +
ARRAY_SIZE(rx_ring_stats) * priv->num_rx_rings +
(enetc_si_is_pf(priv->si) ?
ARRAY_SIZE(enetc_port_counters) : 0);
if (sset != ETH_SS_STATS)
return -EOPNOTSUPP;
return -EOPNOTSUPP;
len = ARRAY_SIZE(enetc_si_counters) +
ARRAY_SIZE(tx_ring_stats) * priv->num_tx_rings +
ARRAY_SIZE(rx_ring_stats) * priv->num_rx_rings;
if (!enetc_si_is_pf(priv->si))
return len;
len += ARRAY_SIZE(enetc_port_counters);
return len;
}
static void enetc_get_strings(struct net_device *ndev, u32 stringset, u8 *data)