net: mscc: ocelot: remove redundant stats_layout pointers
authorColin Foster <colin.foster@in-advantage.com>
Sat, 19 Nov 2022 23:14:04 +0000 (15:14 -0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 22 Nov 2022 14:36:43 +0000 (15:36 +0100)
Ever since commit 4d1d157fb6a4 ("net: mscc: ocelot: share the common stat
definitions between all drivers") the stats_layout entry in ocelot and
felix drivers have become redundant. Remove the unnecessary code.

Suggested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/dsa/ocelot/felix.c
drivers/net/dsa/ocelot/felix.h
drivers/net/dsa/ocelot/felix_vsc9959.c
drivers/net/dsa/ocelot/seville_vsc9953.c
drivers/net/ethernet/mscc/ocelot_stats.c
drivers/net/ethernet/mscc/ocelot_vsc7514.c
include/soc/mscc/ocelot.h

index 44e160f32067883120d1122a6811366d8a7840e7..3b738cb2ae6e3a4a3930aa888e7f31a01965d08e 100644 (file)
@@ -1363,7 +1363,6 @@ static int felix_init_structs(struct felix *felix, int num_phys_ports)
                return -ENOMEM;
 
        ocelot->map             = felix->info->map;
-       ocelot->stats_layout    = felix->info->stats_layout;
        ocelot->num_mact_rows   = felix->info->num_mact_rows;
        ocelot->vcap            = felix->info->vcap;
        ocelot->vcap_pol.base   = felix->info->vcap_pol_base;
index 42338116eed01525e715f697448d4234134c7f4d..be22d6ccd7c8125c71f7c86f76a188fa3f6d19bc 100644 (file)
@@ -28,7 +28,6 @@ struct felix_info {
        const struct ocelot_ops         *ops;
        const u32                       *port_modes;
        int                             num_mact_rows;
-       const struct ocelot_stat_layout *stats_layout;
        int                             num_ports;
        int                             num_tx_queues;
        struct vcap_props               *vcap;
index b0ae8d6156f6b42dd4026895dc3a7c282e5fd555..01ac70fd7ddf1e8f8a96a0aa1b934bbab3efbdec 100644 (file)
@@ -565,10 +565,6 @@ static const struct reg_field vsc9959_regfields[REGFIELD_MAX] = {
        [SYS_PAUSE_CFG_PAUSE_ENA] = REG_FIELD_ID(SYS_PAUSE_CFG, 0, 1, 7, 4),
 };
 
-static const struct ocelot_stat_layout vsc9959_stats_layout[OCELOT_NUM_STATS] = {
-       OCELOT_COMMON_STATS,
-};
-
 static const struct vcap_field vsc9959_vcap_es0_keys[] = {
        [VCAP_ES0_EGR_PORT]                     = {  0,  3},
        [VCAP_ES0_IGR_PORT]                     = {  3,  3},
@@ -2546,7 +2542,6 @@ static const struct felix_info felix_info_vsc9959 = {
        .regfields              = vsc9959_regfields,
        .map                    = vsc9959_regmap,
        .ops                    = &vsc9959_ops,
-       .stats_layout           = vsc9959_stats_layout,
        .vcap                   = vsc9959_vcap_props,
        .vcap_pol_base          = VSC9959_VCAP_POLICER_BASE,
        .vcap_pol_max           = VSC9959_VCAP_POLICER_MAX,
index 6500c1697dd6127584f52e837ed28edae129a8eb..88ed3a2e487a4f2f990551fb19f69fcab9804685 100644 (file)
@@ -543,10 +543,6 @@ static const struct reg_field vsc9953_regfields[REGFIELD_MAX] = {
        [SYS_PAUSE_CFG_PAUSE_ENA] = REG_FIELD_ID(SYS_PAUSE_CFG, 0, 1, 11, 4),
 };
 
-static const struct ocelot_stat_layout vsc9953_stats_layout[OCELOT_NUM_STATS] = {
-       OCELOT_COMMON_STATS,
-};
-
 static const struct vcap_field vsc9953_vcap_es0_keys[] = {
        [VCAP_ES0_EGR_PORT]                     = {  0,  4},
        [VCAP_ES0_IGR_PORT]                     = {  4,  4},
@@ -970,7 +966,6 @@ static const struct felix_info seville_info_vsc9953 = {
        .regfields              = vsc9953_regfields,
        .map                    = vsc9953_regmap,
        .ops                    = &vsc9953_ops,
-       .stats_layout           = vsc9953_stats_layout,
        .vcap                   = vsc9953_vcap_props,
        .vcap_pol_base          = VSC9953_VCAP_POLICER_BASE,
        .vcap_pol_max           = VSC9953_VCAP_POLICER_MAX,
index dbd20b125ceaf63e8d8d431c4895e4ee6cffa6d1..5dc132f61d6a4dafa311c96a6c8863141ccb1b45 100644 (file)
@@ -9,6 +9,10 @@
 #include <linux/workqueue.h>
 #include "ocelot.h"
 
+static const struct ocelot_stat_layout ocelot_stats_layout[OCELOT_NUM_STATS] = {
+       OCELOT_COMMON_STATS,
+};
+
 /* Read the counters from hardware and keep them in region->buf.
  * Caller must hold &ocelot->stat_view_lock.
  */
@@ -93,10 +97,10 @@ void ocelot_get_strings(struct ocelot *ocelot, int port, u32 sset, u8 *data)
                return;
 
        for (i = 0; i < OCELOT_NUM_STATS; i++) {
-               if (ocelot->stats_layout[i].name[0] == '\0')
+               if (ocelot_stats_layout[i].name[0] == '\0')
                        continue;
 
-               memcpy(data + i * ETH_GSTRING_LEN, ocelot->stats_layout[i].name,
+               memcpy(data + i * ETH_GSTRING_LEN, ocelot_stats_layout[i].name,
                       ETH_GSTRING_LEN);
        }
 }
@@ -137,7 +141,7 @@ int ocelot_get_sset_count(struct ocelot *ocelot, int port, int sset)
                return -EOPNOTSUPP;
 
        for (i = 0; i < OCELOT_NUM_STATS; i++)
-               if (ocelot->stats_layout[i].name[0] != '\0')
+               if (ocelot_stats_layout[i].name[0] != '\0')
                        num_stats++;
 
        return num_stats;
@@ -154,7 +158,7 @@ static void ocelot_port_ethtool_stats_cb(struct ocelot *ocelot, int port,
        for (i = 0; i < OCELOT_NUM_STATS; i++) {
                int index = port * OCELOT_NUM_STATS + i;
 
-               if (ocelot->stats_layout[i].name[0] == '\0')
+               if (ocelot_stats_layout[i].name[0] == '\0')
                        continue;
 
                *data++ = ocelot->stats[index];
@@ -389,10 +393,10 @@ static int ocelot_prepare_stats_regions(struct ocelot *ocelot)
        INIT_LIST_HEAD(&ocelot->stats_regions);
 
        for (i = 0; i < OCELOT_NUM_STATS; i++) {
-               if (!ocelot->stats_layout[i].reg)
+               if (!ocelot_stats_layout[i].reg)
                        continue;
 
-               if (region && ocelot->stats_layout[i].reg == last + 4) {
+               if (region && ocelot_stats_layout[i].reg == last + 4) {
                        region->count++;
                } else {
                        region = devm_kzalloc(ocelot->dev, sizeof(*region),
@@ -400,12 +404,12 @@ static int ocelot_prepare_stats_regions(struct ocelot *ocelot)
                        if (!region)
                                return -ENOMEM;
 
-                       region->base = ocelot->stats_layout[i].reg;
+                       region->base = ocelot_stats_layout[i].reg;
                        region->count = 1;
                        list_add_tail(&region->node, &ocelot->stats_regions);
                }
 
-               last = ocelot->stats_layout[i].reg;
+               last = ocelot_stats_layout[i].reg;
        }
 
        list_for_each_entry(region, &ocelot->stats_regions, node) {
index 93431d2ff4f14e0904d9e551a37f733a91db66f2..b097fd4a40610656dc9665b1d6b7f1787ca08fce 100644 (file)
@@ -100,10 +100,6 @@ static const struct reg_field ocelot_regfields[REGFIELD_MAX] = {
        [SYS_PAUSE_CFG_PAUSE_ENA] = REG_FIELD_ID(SYS_PAUSE_CFG, 0, 1, 12, 4),
 };
 
-static const struct ocelot_stat_layout ocelot_stats_layout[OCELOT_NUM_STATS] = {
-       OCELOT_COMMON_STATS,
-};
-
 static void ocelot_pll5_init(struct ocelot *ocelot)
 {
        /* Configure PLL5. This will need a proper CCF driver
@@ -138,7 +134,6 @@ static int ocelot_chip_init(struct ocelot *ocelot, const struct ocelot_ops *ops)
        int ret;
 
        ocelot->map = ocelot_regmap;
-       ocelot->stats_layout = ocelot_stats_layout;
        ocelot->num_mact_rows = 1024;
        ocelot->ops = ops;
 
index 967ba30ea63639417e25be5d5bdc382282df0eb9..995b5950afe64130e3813fe05e2d5d4f7d652379 100644 (file)
@@ -967,7 +967,6 @@ struct ocelot {
        struct regmap                   *targets[TARGET_MAX];
        struct regmap_field             *regfields[REGFIELD_MAX];
        const u32 *const                *map;
-       const struct ocelot_stat_layout *stats_layout;
        struct list_head                stats_regions;
 
        u32                             pool_size[OCELOT_SB_NUM][OCELOT_SB_POOL_NUM];