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 v3 05/13] net: phy: at803x: move specific DT option for at8031 to specific probe
Date: Thu, 7 Dec 2023 00:57:20 +0100 [thread overview]
Message-ID: <20231206235728.6985-6-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20231206235728.6985-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 779e0835fa5d..e507bf2c9bdd 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-07 0:00 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-06 23:57 [net-next PATCH v3 00/13] net: phy: at803x: cleanup Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 01/13] net: phy: at803x: fix passing the wrong reference for config_intr Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 02/13] net: phy: at803x: move disable WOL to specific at8031 probe Christian Marangi
2023-12-07 10:47 ` Russell King (Oracle)
2023-12-06 23:57 ` [net-next PATCH v3 03/13] net: phy: at803x: raname hw_stats functions to qca83xx specific name Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 04/13] net: phy: at803x: move qca83xx specific check in dedicated functions Christian Marangi
2023-12-06 23:57 ` Christian Marangi [this message]
2023-12-06 23:57 ` [net-next PATCH v3 06/13] net: phy: at803x: move specific at8031 probe mode check to dedicated probe Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 07/13] net: phy: at803x: move specific at8031 config_init to dedicated function Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 08/13] net: phy: at803x: move specific at8031 WOL bits " Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 09/13] net: phy: at803x: move specific at8031 config_intr " Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 10/13] net: phy: at803x: make at8031 related DT functions name more specific Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 11/13] net: phy: at803x: move at8031 functions in dedicated section Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 12/13] net: phy: at803x: move at8035 specific DT parse to dedicated probe Christian Marangi
2023-12-06 23:57 ` [net-next PATCH v3 13/13] net: phy: at803x: drop specific PHY ID check from cable test functions Christian Marangi
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=20231206235728.6985-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.