From: Christian Marangi <ansuelsmth@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Christian Marangi <ansuelsmth@gmail.com>
Subject: [net-next PATCH v4 05/13] net: phy: at803x: move specific DT option for at8031 to specific probe
Date: Fri, 8 Dec 2023 15:51:52 +0100 [thread overview]
Message-ID: <20231208145200.25162-6-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20231208145200.25162-1-ansuelsmth@gmail.com>
Move specific DT options for at8031 to specific probe to tidy things up
and make at803x_parse_dt more generic.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
---
drivers/net/phy/at803x.c | 55 ++++++++++++++++++++++------------------
1 file changed, 31 insertions(+), 24 deletions(-)
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index fa412a4e080d..5694c2667b4d 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -825,30 +825,6 @@ static int at803x_parse_dt(struct phy_device *phydev)
}
}
- /* Only supported on AR8031/AR8033, the AR8030/AR8035 use strapping
- * options.
- */
- if (phydev->drv->phy_id == ATH8031_PHY_ID) {
- if (of_property_read_bool(node, "qca,keep-pll-enabled"))
- priv->flags |= AT803X_KEEP_PLL_ENABLED;
-
- ret = at8031_register_regulators(phydev);
- if (ret < 0)
- return ret;
-
- ret = devm_regulator_get_enable_optional(&phydev->mdio.dev,
- "vddio");
- if (ret) {
- phydev_err(phydev, "failed to get VDDIO regulator\n");
- return ret;
- }
-
- /* Only AR8031/8033 support 1000Base-X for SFP modules */
- ret = phy_sfp_probe(phydev, &at803x_sfp_ops);
- if (ret < 0)
- return ret;
- }
-
return 0;
}
@@ -1582,6 +1558,30 @@ static int at803x_cable_test_start(struct phy_device *phydev)
return 0;
}
+static int at8031_parse_dt(struct phy_device *phydev)
+{
+ struct device_node *node = phydev->mdio.dev.of_node;
+ struct at803x_priv *priv = phydev->priv;
+ int ret;
+
+ if (of_property_read_bool(node, "qca,keep-pll-enabled"))
+ priv->flags |= AT803X_KEEP_PLL_ENABLED;
+
+ ret = at8031_register_regulators(phydev);
+ if (ret < 0)
+ return ret;
+
+ ret = devm_regulator_get_enable_optional(&phydev->mdio.dev,
+ "vddio");
+ if (ret) {
+ phydev_err(phydev, "failed to get VDDIO regulator\n");
+ return ret;
+ }
+
+ /* Only AR8031/8033 support 1000Base-X for SFP modules */
+ return phy_sfp_probe(phydev, &at803x_sfp_ops);
+}
+
static int at8031_probe(struct phy_device *phydev)
{
int ret;
@@ -1590,6 +1590,13 @@ static int at8031_probe(struct phy_device *phydev)
if (ret)
return ret;
+ /* Only supported on AR8031/AR8033, the AR8030/AR8035 use strapping
+ * options.
+ */
+ ret = at8031_parse_dt(phydev);
+ if (ret)
+ return ret;
+
/* Disable WoL in 1588 register which is enabled
* by default
*/
--
2.40.1
next prev parent reply other threads:[~2023-12-08 14:55 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-08 14:51 [net-next PATCH v4 00/13] net: phy: at803x: cleanup Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 01/13] net: phy: at803x: fix passing the wrong reference for config_intr Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 02/13] net: phy: at803x: move disable WOL to specific at8031 probe Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 03/13] net: phy: at803x: raname hw_stats functions to qca83xx specific name Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 04/13] net: phy: at803x: move qca83xx specific check in dedicated functions Christian Marangi
2023-12-08 14:51 ` Christian Marangi [this message]
2023-12-08 14:51 ` [net-next PATCH v4 06/13] net: phy: at803x: move specific at8031 probe mode check to dedicated probe Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 07/13] net: phy: at803x: move specific at8031 config_init to dedicated function Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 08/13] net: phy: at803x: move specific at8031 WOL bits " Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 09/13] net: phy: at803x: move specific at8031 config_intr " Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 10/13] net: phy: at803x: make at8031 related DT functions name more specific Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 11/13] net: phy: at803x: move at8031 functions in dedicated section Christian Marangi
2023-12-08 14:51 ` [net-next PATCH v4 12/13] net: phy: at803x: move at8035 specific DT parse to dedicated probe Christian Marangi
2023-12-08 14:52 ` [net-next PATCH v4 13/13] net: phy: at803x: drop specific PHY ID check from cable test functions Christian Marangi
2023-12-13 10:40 ` [net-next PATCH v4 00/13] net: phy: at803x: cleanup patchwork-bot+netdevbpf
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=20231208145200.25162-6-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.