]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: dsa: sja1105: call PCS config/link_up via pcs_ops structure
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 1 Oct 2024 16:04:41 +0000 (17:04 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 3 Oct 2024 00:32:00 +0000 (17:32 -0700)
Call the PCS operations through the ops structure, which avoids needing
to export xpcs internal functions.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1svfMf-005ZId-Mx@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/sja1105/sja1105_main.c

index 5481ccb921dfe2dbf3ca063d5bf0953a6baa3c18..e5918ac862ebfb0bfc4c51f11b941fe138a3163b 100644 (file)
@@ -2377,6 +2377,7 @@ int sja1105_static_config_reload(struct sja1105_private *priv,
 
        for (i = 0; i < ds->num_ports; i++) {
                struct dw_xpcs *xpcs = priv->xpcs[i];
+               struct phylink_pcs *pcs;
                unsigned int neg_mode;
 
                mac[i].speed = mac_speed[i];
@@ -2387,12 +2388,15 @@ int sja1105_static_config_reload(struct sja1105_private *priv,
                if (!xpcs)
                        continue;
 
+               pcs = &xpcs->pcs;
+
                if (bmcr[i] & BMCR_ANENABLE)
                        neg_mode = PHYLINK_PCS_NEG_INBAND_ENABLED;
                else
                        neg_mode = PHYLINK_PCS_NEG_OUTBAND;
 
-               rc = xpcs_do_config(xpcs, priv->phy_mode[i], NULL, neg_mode);
+               rc = pcs->ops->pcs_config(pcs, neg_mode, priv->phy_mode[i],
+                                         NULL, true);
                if (rc < 0)
                        goto out;
 
@@ -2408,8 +2412,8 @@ int sja1105_static_config_reload(struct sja1105_private *priv,
                        else
                                speed = SPEED_10;
 
-                       xpcs_link_up(&xpcs->pcs, neg_mode, priv->phy_mode[i],
-                                    speed, DUPLEX_FULL);
+                       pcs->ops->pcs_link_up(pcs, neg_mode, priv->phy_mode[i],
+                                             speed, DUPLEX_FULL);
                }
        }