Global stmmac support for early initialization of PCS devices requires a
generic PCS reference that can be passed to phylink_pcs_pre_init().
Currently, the mac_device_info struct contains only one PCS field, which is
specific to the Lynx model.
As PCS models are hardware-specific, it is more appropriate to have a
generic PCS field in the mac_device_info struct.
Refactor the lynx_pcs field into a generic phylink_pcs field.
Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20240326-rxc_bugfix-v6-4-24a74e5c761f@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        const struct stmmac_mmc_ops *mmc;
        const struct stmmac_est_ops *est;
        struct dw_xpcs *xpcs;
-       struct phylink_pcs *lynx_pcs; /* Lynx external PCS */
+       struct phylink_pcs *phylink_pcs;
        struct mii_regs mii;    /* MII register Addresses */
        struct mac_link link;
        void __iomem *pcsr;     /* vpointer to device CSRs */
 
                        goto err_dvr_remove;
                }
 
-               stpriv->hw->lynx_pcs = lynx_pcs_create_mdiodev(pcs_bus, 0);
-               if (IS_ERR(stpriv->hw->lynx_pcs)) {
-                       ret = PTR_ERR(stpriv->hw->lynx_pcs);
+               stpriv->hw->phylink_pcs = lynx_pcs_create_mdiodev(pcs_bus, 0);
+               if (IS_ERR(stpriv->hw->phylink_pcs)) {
+                       ret = PTR_ERR(stpriv->hw->phylink_pcs);
                        goto err_dvr_remove;
                }
        }
 {
        struct net_device *ndev = platform_get_drvdata(pdev);
        struct stmmac_priv *priv = netdev_priv(ndev);
-       struct phylink_pcs *pcs = priv->hw->lynx_pcs;
+       struct phylink_pcs *pcs = priv->hw->phylink_pcs;
 
        stmmac_pltfr_remove(pdev);
 
 
        if (priv->hw->xpcs)
                return &priv->hw->xpcs->pcs;
 
-       if (priv->hw->lynx_pcs)
-               return priv->hw->lynx_pcs;
-
-       return NULL;
+       return priv->hw->phylink_pcs;
 }
 
 static void stmmac_mac_config(struct phylink_config *config, unsigned int mode,