From: Florian Fainelli <f.fainelli@gmail.com>
Date: Wed, 25 Apr 2018 19:12:54 +0000 (-0700)
Subject: net: dsa: loop: Hook PHY statistics
X-Git-Tag: v4.18-rc1~114^2~373^2
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=96cbddcd52e76d9052948e408b17bedc8aa1c11a;p=users%2Fjedix%2Flinux-maple.git

net: dsa: loop: Hook PHY statistics

We just return the same statistics through ethtool_get_stats() and
ethtool_get_phy_stats() for simplicity since this is just a mock-up driver.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/drivers/net/dsa/dsa_loop.c b/drivers/net/dsa/dsa_loop.c
index 9354cc08d3fd..58f14af04639 100644
--- a/drivers/net/dsa/dsa_loop.c
+++ b/drivers/net/dsa/dsa_loop.c
@@ -88,7 +88,7 @@ static int dsa_loop_setup(struct dsa_switch *ds)
 
 static int dsa_loop_get_sset_count(struct dsa_switch *ds, int port, int sset)
 {
-	if (sset != ETH_SS_STATS)
+	if (sset != ETH_SS_STATS && sset != ETH_SS_PHY_STATS)
 		return 0;
 
 	return __DSA_LOOP_CNT_MAX;
@@ -100,7 +100,7 @@ static void dsa_loop_get_strings(struct dsa_switch *ds, int port,
 	struct dsa_loop_priv *ps = ds->priv;
 	unsigned int i;
 
-	if (stringset != ETH_SS_STATS)
+	if (stringset != ETH_SS_STATS && stringset != ETH_SS_PHY_STATS)
 		return;
 
 	for (i = 0; i < __DSA_LOOP_CNT_MAX; i++)
@@ -263,6 +263,7 @@ static const struct dsa_switch_ops dsa_loop_driver = {
 	.get_strings		= dsa_loop_get_strings,
 	.get_ethtool_stats	= dsa_loop_get_ethtool_stats,
 	.get_sset_count		= dsa_loop_get_sset_count,
+	.get_ethtool_phy_stats	= dsa_loop_get_ethtool_stats,
 	.phy_read		= dsa_loop_phy_read,
 	.phy_write		= dsa_loop_phy_write,
 	.port_bridge_join	= dsa_loop_port_bridge_join,