[PATCH net-next 1/2] net: phy: marvell: move mode configuration into standalone function

From: Paul Louvel

Date: Mon Nov 09 2026 - 07:52:19 EST


Move the configuration of the m88e151x out of the
m88e1510_port_configure_serdes() function, so that other part of the
driver can use it.

Signed-off-by: Paul Louvel (Schneider Electric) <paul.louvel@xxxxxxxxxxx>
---
drivers/net/phy/marvell.c | 38 ++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 2c688d661297..aef5f8279133 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -1332,6 +1332,27 @@ static int m88e1318_config_init(struct phy_device *phydev)
return marvell_config_init(phydev);
}

+static int m88e1510_config_mode(struct phy_device *phydev, u16 mode)
+{
+ int oldpage;
+ int ret = 0;
+
+ oldpage = phy_select_page(phydev, MII_MARVELL_MODE_PAGE);
+ if (oldpage < 0)
+ goto error;
+
+ ret = __phy_modify(phydev, MII_88E1510_GEN_CTRL_REG_1,
+ MII_88E1510_GEN_CTRL_REG_1_MODE_MASK, mode);
+ if (ret < 0)
+ goto error;
+
+ ret = __phy_set_bits(phydev, MII_88E1510_GEN_CTRL_REG_1,
+ MII_88E1510_GEN_CTRL_REG_1_RESET);
+
+error:
+ return phy_restore_page(phydev, oldpage, ret);
+}
+
static int m88e1510_config_init(struct phy_device *phydev)
{
static const struct {
@@ -3656,8 +3677,6 @@ static int m88e1510_port_configure_serdes(struct phy_port *port, bool enable,
{
struct phy_device *phydev = port_phydev(port);
struct device *dev;
- int oldpage;
- int ret = 0;
u16 mode;

dev = &phydev->mdio.dev;
@@ -3685,20 +3704,7 @@ static int m88e1510_port_configure_serdes(struct phy_port *port, bool enable,
mode = MII_88E1510_GEN_CTRL_REG_1_MODE_RGMII;
}

- oldpage = phy_select_page(phydev, MII_MARVELL_MODE_PAGE);
- if (oldpage < 0)
- goto error;
-
- ret = __phy_modify(phydev, MII_88E1510_GEN_CTRL_REG_1,
- MII_88E1510_GEN_CTRL_REG_1_MODE_MASK, mode);
- if (ret < 0)
- goto error;
-
- ret = __phy_set_bits(phydev, MII_88E1510_GEN_CTRL_REG_1,
- MII_88E1510_GEN_CTRL_REG_1_RESET);
-
-error:
- return phy_restore_page(phydev, oldpage, ret);
+ return m88e1510_config_mode(phydev, mode);
}

static const struct phy_port_ops m88e1510_serdes_port_ops = {

--
2.56.0