701-net-0235-enetc-Clean-up-of-ehtool-stats-len.patch 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. From a5e4a018cf5c7ed9709141c41ba7b262aa79870d Mon Sep 17 00:00:00 2001
  2. From: Claudiu Manoil <[email protected]>
  3. Date: Tue, 22 Oct 2019 20:23:38 +0300
  4. Subject: [PATCH] enetc: Clean up of ehtool stats len
  5. Just refactoring stats len code to make it easier to
  6. add new stats counters.
  7. Signed-off-by: Claudiu Manoil <[email protected]>
  8. ---
  9. drivers/net/ethernet/freescale/enetc/enetc_ethtool.c | 20 +++++++++++++-------
  10. 1 file changed, 13 insertions(+), 7 deletions(-)
  11. --- a/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
  12. +++ b/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
  13. @@ -199,15 +199,21 @@ static const char tx_ring_stats[][ETH_GS
  14. static int enetc_get_sset_count(struct net_device *ndev, int sset)
  15. {
  16. struct enetc_ndev_priv *priv = netdev_priv(ndev);
  17. + int len;
  18. - if (sset == ETH_SS_STATS)
  19. - return ARRAY_SIZE(enetc_si_counters) +
  20. - ARRAY_SIZE(tx_ring_stats) * priv->num_tx_rings +
  21. - ARRAY_SIZE(rx_ring_stats) * priv->num_rx_rings +
  22. - (enetc_si_is_pf(priv->si) ?
  23. - ARRAY_SIZE(enetc_port_counters) : 0);
  24. + if (sset != ETH_SS_STATS)
  25. + return -EOPNOTSUPP;
  26. - return -EOPNOTSUPP;
  27. + len = ARRAY_SIZE(enetc_si_counters) +
  28. + ARRAY_SIZE(tx_ring_stats) * priv->num_tx_rings +
  29. + ARRAY_SIZE(rx_ring_stats) * priv->num_rx_rings;
  30. +
  31. + if (!enetc_si_is_pf(priv->si))
  32. + return len;
  33. +
  34. + len += ARRAY_SIZE(enetc_port_counters);
  35. +
  36. + return len;
  37. }
  38. static void enetc_get_strings(struct net_device *ndev, u32 stringset, u8 *data)