net: dsa: microchip: move get_strings to ksz_common
authorArun Ramadoss <arun.ramadoss@microchip.com>
Tue, 17 May 2022 09:43:30 +0000 (15:13 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 May 2022 11:50:59 +0000 (12:50 +0100)
ksz8795 and ksz9477 uses the same algorithm for copying the ethtool
strings. Hence moved to ksz_common to remove the redundant code.

Signed-off-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz8795.c
drivers/net/dsa/microchip/ksz9477.c
drivers/net/dsa/microchip/ksz_common.c
drivers/net/dsa/microchip/ksz_common.h

index 3490b60..251048f 100644 (file)
@@ -923,18 +923,6 @@ static u32 ksz8_sw_get_phy_flags(struct dsa_switch *ds, int port)
        return 0;
 }
 
-static void ksz8_get_strings(struct dsa_switch *ds, int port,
-                            u32 stringset, uint8_t *buf)
-{
-       struct ksz_device *dev = ds->priv;
-       int i;
-
-       for (i = 0; i < dev->info->mib_cnt; i++) {
-               memcpy(buf + i * ETH_GSTRING_LEN,
-                      dev->info->mib_names[i].string, ETH_GSTRING_LEN);
-       }
-}
-
 static void ksz8_cfg_port_member(struct ksz_device *dev, int port, u8 member)
 {
        u8 data;
@@ -1424,7 +1412,7 @@ static const struct dsa_switch_ops ksz8_switch_ops = {
        .phylink_get_caps       = ksz8_get_caps,
        .phylink_mac_link_down  = ksz_mac_link_down,
        .port_enable            = ksz_enable_port,
-       .get_strings            = ksz8_get_strings,
+       .get_strings            = ksz_get_strings,
        .get_ethtool_stats      = ksz_get_ethtool_stats,
        .get_sset_count         = ksz_sset_count,
        .port_bridge_join       = ksz_port_bridge_join,
index d4729f0..7cffc33 100644 (file)
@@ -358,21 +358,6 @@ static int ksz9477_phy_write16(struct dsa_switch *ds, int addr, int reg,
        return 0;
 }
 
-static void ksz9477_get_strings(struct dsa_switch *ds, int port,
-                               u32 stringset, uint8_t *buf)
-{
-       struct ksz_device *dev = ds->priv;
-       int i;
-
-       if (stringset != ETH_SS_STATS)
-               return;
-
-       for (i = 0; i < dev->info->mib_cnt; i++) {
-               memcpy(buf + i * ETH_GSTRING_LEN,
-                      dev->info->mib_names[i].string, ETH_GSTRING_LEN);
-       }
-}
-
 static void ksz9477_cfg_port_member(struct ksz_device *dev, int port,
                                    u8 member)
 {
@@ -1341,7 +1326,7 @@ static const struct dsa_switch_ops ksz9477_switch_ops = {
        .phy_write              = ksz9477_phy_write16,
        .phylink_mac_link_down  = ksz_mac_link_down,
        .port_enable            = ksz_enable_port,
-       .get_strings            = ksz9477_get_strings,
+       .get_strings            = ksz_get_strings,
        .get_ethtool_stats      = ksz_get_ethtool_stats,
        .get_sset_count         = ksz_sset_count,
        .port_bridge_join       = ksz_port_bridge_join,
index 8f90bf2..c0acb12 100644 (file)
@@ -418,6 +418,22 @@ void ksz_get_stats64(struct dsa_switch *ds, int port,
 }
 EXPORT_SYMBOL_GPL(ksz_get_stats64);
 
+void ksz_get_strings(struct dsa_switch *ds, int port,
+                    u32 stringset, uint8_t *buf)
+{
+       struct ksz_device *dev = ds->priv;
+       int i;
+
+       if (stringset != ETH_SS_STATS)
+               return;
+
+       for (i = 0; i < dev->info->mib_cnt; i++) {
+               memcpy(buf + i * ETH_GSTRING_LEN,
+                      dev->info->mib_names[i].string, ETH_GSTRING_LEN);
+       }
+}
+EXPORT_SYMBOL_GPL(ksz_get_strings);
+
 void ksz_update_port_member(struct ksz_device *dev, int port)
 {
        struct ksz_port *p = &dev->ports[port];
index 7c0158f..8b2a30e 100644 (file)
@@ -225,6 +225,8 @@ int ksz_port_mdb_del(struct dsa_switch *ds, int port,
                     const struct switchdev_obj_port_mdb *mdb,
                     struct dsa_db db);
 int ksz_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy);
+void ksz_get_strings(struct dsa_switch *ds, int port,
+                    u32 stringset, uint8_t *buf);
 
 /* Common register access functions */