Commit a784c92e authored by Claudiu Manoil's avatar Claudiu Manoil Committed by David S. Miller
Browse files

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: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9ff3dd7b
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -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 -EOPNOTSUPP;

	if (sset == ETH_SS_STATS)
		return ARRAY_SIZE(enetc_si_counters) +
	len = 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);
	      ARRAY_SIZE(rx_ring_stats) * priv->num_rx_rings;

	return -EOPNOTSUPP;
	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)