mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
45 lines
1.4 KiB
Diff
45 lines
1.4 KiB
Diff
|
From a5e4a018cf5c7ed9709141c41ba7b262aa79870d Mon Sep 17 00:00:00 2001
|
||
|
From: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||
|
Date: Tue, 22 Oct 2019 20:23:38 +0300
|
||
|
Subject: [PATCH] enetc: Clean up of ehtool stats len
|
||
|
|
||
|
Just refactoring stats len code to make it easier to
|
||
|
add new stats counters.
|
||
|
|
||
|
Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||
|
---
|
||
|
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c | 20 +++++++++++++-------
|
||
|
1 file changed, 13 insertions(+), 7 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
|
||
|
+++ b/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
|
||
|
@@ -195,15 +195,21 @@ static const char tx_ring_stats[][ETH_GS
|
||
|
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)
|