aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/dsa_loop.c
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2018-04-25 15:12:50 -0400
committerDavid S. Miller <davem@davemloft.net>2018-04-27 11:53:03 -0400
commit89f09048348936a9a8c5131c8538cc6ed26fd44c (patch)
tree8b44dd664df9b03217bc751a9319e129dbe2c47a /drivers/net/dsa/dsa_loop.c
parent1d1e79f1c6a57dc3750d328ea38a4c385d4edee8 (diff)
net: dsa: Pass stringset to ethtool operations
Up until now we largely assumed that we were interested in ETH_SS_STATS type of strings for all ethtool operations, this is about to change with the introduction of additional string sets, e.g: ETH_SS_PHY_STATS. Update all functions to take an appropriate stringset argument and act on it when it is different than ETH_SS_STATS for now. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/dsa_loop.c')
-rw-r--r--drivers/net/dsa/dsa_loop.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/dsa/dsa_loop.c b/drivers/net/dsa/dsa_loop.c
index f77be9f85cb3..9354cc08d3fd 100644
--- a/drivers/net/dsa/dsa_loop.c
+++ b/drivers/net/dsa/dsa_loop.c
@@ -86,16 +86,23 @@ static int dsa_loop_setup(struct dsa_switch *ds)
86 return 0; 86 return 0;
87} 87}
88 88
89static int dsa_loop_get_sset_count(struct dsa_switch *ds, int port) 89static int dsa_loop_get_sset_count(struct dsa_switch *ds, int port, int sset)
90{ 90{
91 if (sset != ETH_SS_STATS)
92 return 0;
93
91 return __DSA_LOOP_CNT_MAX; 94 return __DSA_LOOP_CNT_MAX;
92} 95}
93 96
94static void dsa_loop_get_strings(struct dsa_switch *ds, int port, uint8_t *data) 97static void dsa_loop_get_strings(struct dsa_switch *ds, int port,
98 u32 stringset, uint8_t *data)
95{ 99{
96 struct dsa_loop_priv *ps = ds->priv; 100 struct dsa_loop_priv *ps = ds->priv;
97 unsigned int i; 101 unsigned int i;
98 102
103 if (stringset != ETH_SS_STATS)
104 return;
105
99 for (i = 0; i < __DSA_LOOP_CNT_MAX; i++) 106 for (i = 0; i < __DSA_LOOP_CNT_MAX; i++)
100 memcpy(data + i * ETH_GSTRING_LEN, 107 memcpy(data + i * ETH_GSTRING_LEN,
101 ps->ports[port].mib[i].name, ETH_GSTRING_LEN); 108 ps->ports[port].mib[i].name, ETH_GSTRING_LEN);