linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Colin Foster <colin.foster@in-advantage.com>
To: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, netdev@vger.kernel.org
Cc: Russell King <linux@armlinux.org.uk>,
	Linus Walleij <linus.walleij@linaro.org>,
	UNGLinuxDriver@microchip.com,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Lee Jones <lee@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Rob Herring <robh+dt@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	Vladimir Oltean <olteanv@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>
Subject: [PATCH v3 net-next 03/14] net: mscc: ocelot: expose stats layout definition to be used by other drivers
Date: Sun, 25 Sep 2022 17:29:17 -0700	[thread overview]
Message-ID: <20220926002928.2744638-4-colin.foster@in-advantage.com> (raw)
In-Reply-To: <20220926002928.2744638-1-colin.foster@in-advantage.com>

The ocelot_stats_layout array is common between several different chips,
some of which can only be controlled externally. Export this structure so
it doesn't have to be duplicated in these other drivers.

Rename the structure as well, to follow the conventions of other shared
resources.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
---

v2 & v3
    * No change

v1 from previous RFC:
    * Utilize OCELOT_COMMON_STATS

---
 drivers/net/ethernet/mscc/ocelot_vsc7514.c | 6 +-----
 drivers/net/ethernet/mscc/vsc7514_regs.c   | 5 +++++
 include/soc/mscc/vsc7514_regs.h            | 3 +++
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/mscc/ocelot_vsc7514.c b/drivers/net/ethernet/mscc/ocelot_vsc7514.c
index 6d695375b14b..4fb525f071ac 100644
--- a/drivers/net/ethernet/mscc/ocelot_vsc7514.c
+++ b/drivers/net/ethernet/mscc/ocelot_vsc7514.c
@@ -42,10 +42,6 @@ static const u32 *ocelot_regmap[TARGET_MAX] = {
 	[DEV_GMII] = vsc7514_dev_gmii_regmap,
 };
 
-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
@@ -80,7 +76,7 @@ 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->stats_layout = vsc7514_stats_layout;
 	ocelot->num_mact_rows = 1024;
 	ocelot->ops = ops;
 
diff --git a/drivers/net/ethernet/mscc/vsc7514_regs.c b/drivers/net/ethernet/mscc/vsc7514_regs.c
index 123175618251..d665522e18c6 100644
--- a/drivers/net/ethernet/mscc/vsc7514_regs.c
+++ b/drivers/net/ethernet/mscc/vsc7514_regs.c
@@ -9,6 +9,11 @@
 #include <soc/mscc/vsc7514_regs.h>
 #include "ocelot.h"
 
+const struct ocelot_stat_layout vsc7514_stats_layout[OCELOT_NUM_STATS] = {
+	OCELOT_COMMON_STATS,
+};
+EXPORT_SYMBOL(vsc7514_stats_layout);
+
 const struct reg_field vsc7514_regfields[REGFIELD_MAX] = {
 	[ANA_ADVLEARN_VLAN_CHK] = REG_FIELD(ANA_ADVLEARN, 11, 11),
 	[ANA_ADVLEARN_LEARN_MIRROR] = REG_FIELD(ANA_ADVLEARN, 0, 10),
diff --git a/include/soc/mscc/vsc7514_regs.h b/include/soc/mscc/vsc7514_regs.h
index 9b40e7d00ec5..d2b5b6b86aff 100644
--- a/include/soc/mscc/vsc7514_regs.h
+++ b/include/soc/mscc/vsc7514_regs.h
@@ -8,8 +8,11 @@
 #ifndef VSC7514_REGS_H
 #define VSC7514_REGS_H
 
+#include <soc/mscc/ocelot.h>
 #include <soc/mscc/ocelot_vcap.h>
 
+extern const struct ocelot_stat_layout vsc7514_stats_layout[];
+
 extern const struct reg_field vsc7514_regfields[REGFIELD_MAX];
 
 extern const u32 vsc7514_ana_regmap[];
-- 
2.25.1


  parent reply	other threads:[~2022-09-26  0:30 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-26  0:29 [PATCH v3 net-next 00/14] add support for the the vsc7512 internal copper phys Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 01/14] net: mscc: ocelot: expose ocelot wm functions Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 02/14] net: mscc: ocelot: expose regfield definition to be used by other drivers Colin Foster
2022-09-26  0:29 ` Colin Foster [this message]
2022-09-26  0:29 ` [PATCH v3 net-next 04/14] net: mscc: ocelot: expose vcap_props structure Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 05/14] net: mscc: ocelot: expose ocelot_reset routine Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 06/14] net: dsa: felix: add configurable device quirks Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 07/14] net: dsa: felix: populate mac_capabilities for all ports Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 08/14] net: dsa: felix: update init_regmap to be string-based Colin Foster
2022-09-27 17:53   ` Vladimir Oltean
2022-09-27 18:43     ` Colin Foster
2022-09-27 18:56       ` Vladimir Oltean
2022-09-26  0:29 ` [PATCH v3 net-next 09/14] pinctrl: ocelot: avoid macro redefinition Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 10/14] mfd: ocelot: prepend resource size macros to be 32-bit Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 11/14] mfd: ocelot: add regmaps for ocelot_ext Colin Foster
2022-09-27 21:04   ` Vladimir Oltean
2022-09-27 23:01     ` Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 12/14] dt-bindings: net: dsa: ocelot: add ocelot-ext documentation Colin Foster
2022-09-27 20:26   ` Vladimir Oltean
2022-09-27 22:20     ` Colin Foster
2022-10-07 22:48       ` Vladimir Oltean
2022-10-08 17:56         ` Colin Foster
2022-09-30 21:15     ` Colin Foster
2022-10-01  0:20       ` Colin Foster
2022-10-03 15:28         ` Vladimir Oltean
2022-10-07 20:44     ` Colin Foster
2022-10-07 22:38       ` Vladimir Oltean
2022-10-04 11:19   ` Krzysztof Kozlowski
2022-10-04 12:15     ` Vladimir Oltean
2022-10-04 14:59       ` Krzysztof Kozlowski
2022-10-04 16:01         ` Vladimir Oltean
2022-10-05  8:09           ` Krzysztof Kozlowski
2022-10-07 23:10             ` Vladimir Oltean
2022-10-09 15:49               ` Krzysztof Kozlowski
2022-10-05  0:08     ` Colin Foster
2022-10-05  8:03       ` Krzysztof Kozlowski
2022-10-05 15:44         ` Colin Foster
2022-10-05 16:09           ` Krzysztof Kozlowski
2022-10-08  0:00             ` Vladimir Oltean
2022-10-09 16:14               ` Krzysztof Kozlowski
2022-10-10 13:07                 ` Vladimir Oltean
2022-10-10 13:37                   ` Krzysztof Kozlowski
2022-10-10 17:48                     ` Vladimir Oltean
2022-10-10 18:47                       ` Colin Foster
2022-10-10 19:11                         ` Vladimir Oltean
2022-10-11  9:53                         ` Vladimir Oltean
2023-01-18 22:28                       ` Colin Foster
2023-01-19 20:21                         ` Vladimir Oltean
2023-01-20 18:16                           ` Colin Foster
2022-09-26  0:29 ` [PATCH v3 net-next 13/14] net: dsa: ocelot: add external ocelot switch control Colin Foster
2022-09-27 20:40   ` Vladimir Oltean
2022-09-26  0:29 ` [PATCH v3 net-next 14/14] mfd: " Colin Foster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220926002928.2744638-4-colin.foster@in-advantage.com \
    --to=colin.foster@in-advantage.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=lee@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=robh+dt@kernel.org \
    --cc=vivien.didelot@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).