From: Christian Marangi <ansuelsmth@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jens Axboe <axboe@kernel.dk>,
Christian Marangi <ansuelsmth@gmail.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: [net-next PATCH v2 14/15] net: dsa: qca8k: move read_switch_id function to common code
Date: Tue, 19 Jul 2022 02:57:25 +0200 [thread overview]
Message-ID: <20220719005726.8739-16-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20220719005726.8739-1-ansuelsmth@gmail.com>
The same function to read the switch id is used by drivers based on
qca8k family switch. Move them to common code to make them accessible
also by other drivers.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/net/dsa/qca/qca8k-8xxx.c | 30 ------------------------------
drivers/net/dsa/qca/qca8k-common.c | 30 ++++++++++++++++++++++++++++++
drivers/net/dsa/qca/qca8k.h | 1 +
3 files changed, 31 insertions(+), 30 deletions(-)
diff --git a/drivers/net/dsa/qca/qca8k-8xxx.c b/drivers/net/dsa/qca/qca8k-8xxx.c
index dfd5cd0817f9..e8b9482cef8a 100644
--- a/drivers/net/dsa/qca/qca8k-8xxx.c
+++ b/drivers/net/dsa/qca/qca8k-8xxx.c
@@ -1881,36 +1881,6 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
.connect_tag_protocol = qca8k_connect_tag_protocol,
};
-static int qca8k_read_switch_id(struct qca8k_priv *priv)
-{
- const struct qca8k_match_data *data;
- u32 val;
- u8 id;
- int ret;
-
- /* get the switches ID from the compatible */
- data = of_device_get_match_data(priv->dev);
- if (!data)
- return -ENODEV;
-
- ret = qca8k_read(priv, QCA8K_REG_MASK_CTRL, &val);
- if (ret < 0)
- return -ENODEV;
-
- id = QCA8K_MASK_CTRL_DEVICE_ID(val);
- if (id != data->id) {
- dev_err(priv->dev, "Switch id detected %x but expected %x", id, data->id);
- return -ENODEV;
- }
-
- priv->switch_id = id;
-
- /* Save revision to communicate to the internal PHY driver */
- priv->switch_revision = QCA8K_MASK_CTRL_REV_ID(val);
-
- return 0;
-}
-
static int
qca8k_sw_probe(struct mdio_device *mdiodev)
{
diff --git a/drivers/net/dsa/qca/qca8k-common.c b/drivers/net/dsa/qca/qca8k-common.c
index f8a3b08a6257..6e6cdb173556 100644
--- a/drivers/net/dsa/qca/qca8k-common.c
+++ b/drivers/net/dsa/qca/qca8k-common.c
@@ -1224,3 +1224,33 @@ qca8k_port_lag_leave(struct dsa_switch *ds, int port,
{
return qca8k_lag_refresh_portmap(ds, port, lag, true);
}
+
+int qca8k_read_switch_id(struct qca8k_priv *priv)
+{
+ const struct qca8k_match_data *data;
+ u32 val;
+ u8 id;
+ int ret;
+
+ /* get the switches ID from the compatible */
+ data = of_device_get_match_data(priv->dev);
+ if (!data)
+ return -ENODEV;
+
+ ret = qca8k_read(priv, QCA8K_REG_MASK_CTRL, &val);
+ if (ret < 0)
+ return -ENODEV;
+
+ id = QCA8K_MASK_CTRL_DEVICE_ID(val);
+ if (id != data->id) {
+ dev_err(priv->dev, "Switch id detected %x but expected %x", id, data->id);
+ return -ENODEV;
+ }
+
+ priv->switch_id = id;
+
+ /* Save revision to communicate to the internal PHY driver */
+ priv->switch_revision = QCA8K_MASK_CTRL_REV_ID(val);
+
+ return 0;
+}
diff --git a/drivers/net/dsa/qca/qca8k.h b/drivers/net/dsa/qca/qca8k.h
index 3ee069cb4fd2..b74b9012462b 100644
--- a/drivers/net/dsa/qca/qca8k.h
+++ b/drivers/net/dsa/qca/qca8k.h
@@ -427,6 +427,7 @@ extern const struct qca8k_mib_desc ar8327_mib[];
extern const struct regmap_access_table qca8k_readable_table;
int qca8k_mib_init(struct qca8k_priv *priv);
void qca8k_port_set_status(struct qca8k_priv *priv, int port, int enable);
+int qca8k_read_switch_id(struct qca8k_priv *priv);
/* Common read/write/rmw function */
int qca8k_read(struct qca8k_priv *priv, u32 reg, u32 *val);
--
2.36.1
next prev parent reply other threads:[~2022-07-19 1:16 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-19 0:57 [net-next PATCH v2 00/15] net: dsa: qca8k: code split for qca8k Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 01/15] net: dsa: qca8k: make mib autocast feature optional Christian Marangi
2022-07-19 12:26 ` Vladimir Oltean
2022-07-19 12:29 ` Christian Marangi
2022-07-19 13:36 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 02/15] net: dsa: qca8k: move mib struct to common code Christian Marangi
2022-07-19 12:36 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 03/15] net: dsa: qca8k: move qca8k read/write/rmw and reg table " Christian Marangi
2022-07-19 12:38 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 03/15] net: dsa: qca8k: move qca8kread/write/rmw " Christian Marangi
2022-07-19 1:00 ` Christian Marangi
2022-07-19 1:30 ` Jakub Kicinski
2022-07-19 1:16 ` Christian Marangi
2022-07-19 13:34 ` Vladimir Oltean
2022-07-19 1:32 ` Jakub Kicinski
2022-07-19 1:17 ` Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 04/15] net: dsa: qca8k: move qca8k bulk read/write helper " Christian Marangi
2022-07-19 12:40 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 05/15] net: dsa: qca8k: move fdb/vlan/mib init functions " Christian Marangi
2022-07-19 13:13 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 06/15] net: dsa: qca8k: move port set status/eee/ethtool stats function " Christian Marangi
2022-07-19 13:14 ` Vladimir Oltean
2022-07-19 13:16 ` Christian Marangi
2022-07-19 13:18 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 07/15] net: dsa: qca8k: move bridge functions " Christian Marangi
2022-07-19 13:16 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 08/15] net: dsa: qca8k: move fast age/MTU/port enable/disable " Christian Marangi
2022-07-19 13:22 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 09/15] net: dsa: qca8k: move port FDB function " Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 10/15] net: dsa: qca8k: move port MDB functions " Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 11/15] net: dsa: qca8k: move port mirror " Christian Marangi
2022-07-19 13:24 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 12/15] net: dsa: qca8k: move port VLAN " Christian Marangi
2022-07-19 13:25 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 13/15] net: dsa: qca8k: move port LAG " Christian Marangi
2022-07-19 13:26 ` Vladimir Oltean
2022-07-19 0:57 ` Christian Marangi [this message]
2022-07-19 0:57 ` [net-next PATCH v2 15/15] net: dsa: qca8k: drop unnecessary exposed function and make them static Christian Marangi
2022-07-19 13:29 ` Vladimir Oltean
2022-07-19 13:35 ` Christian Marangi
2022-07-19 13:44 ` Vladimir Oltean
2022-07-19 13:47 ` Vladimir Oltean
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=20220719005726.8739-16-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=andrew@lunn.ch \
--cc=axboe@kernel.dk \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--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).